Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lesson Ideas #1

Open
baines opened this issue Jan 19, 2017 · 0 comments
Open

Lesson Ideas #1

baines opened this issue Jan 19, 2017 · 0 comments

Comments

@baines
Copy link
Owner

baines commented Jan 19, 2017

Some ideas for future lessons:

  • Different uses of pointers

    • Returning multiple values from functions
    • Passing arguments by "reference" instead of by value
    • Optional values with null pointers
    • Arrays of multiple dimensions
  • Structs & Unions

    • Storing arrays of records
    • Linked lists
    • "inheritance" via unions & struct pointer casting
  • State machines

    • Using an enum & switch statement in a loop to parse complex messages
  • Advanced Functions

    • va_args
    • Function pointers
  • Macros

    • Differences from functions
    • Multiple evaluation caveats
    • Pasting and stringification
    • __VA_ARGS__
    • GCC/Clang extensions? (statement expressions etc)
  • C99 specifics

    • VLAs
    • designated initializers
    • compound literals

I will try to get around to doing some of these in the future, but feel free to beat me to it!
If you have other ideas, you can add them here too.

EDIT: Fixed spelling

baines added a commit that referenced this issue Jan 21, 2017
The new exercise comes between the old #1 and #2 and was
suggested by Allen Webster (@4th-dimention), Thanks!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant