Here the projects in this repository to learn C and the topics covered by each one:
- What is an entry point of a function, what is main.
- How to print text using printf, puts and putchar, how to use sizeof.
- How to compile using gcc.
- Integers.
- Arithmetic Operators, Relational operators, Logical operators.
- If, if…else statements.
- while loop.
- What are nested loops and how to use them.
- What is a function and how do you use functions.
- What is a prototype.
- What are header files and how to to use them with #include.
- What is debugging? Some methods and error messages.
- What are pointers, arrays, strings and how to use them.
- Difference between pointers and arrays.
- What is recursion and how to implement it.
- In what situations you should and shouldn't implement recursion.
- What is a static library, how does it work, how to create one, and how to use it.
- How to use arguments passed to your program.
- What is the difference between automatic and dynamic allocation.
- How to use the exit function.
- What are the functions malloc, calloc and realloc from the standard library and how to use them.
- What are macros and how to use them.
- How to include guard your header files.
- What are structures, when, why and how to use them.
- How to use typedef.
- What are function pointers and how to use them.
- Where does a function pointer point to in the virtual memory.
- What are variadic functions.
- How to use va_start, va_arg and va_end macros.
- Why and how to use the const type qualifier.
How to make our own printf function.
- When and why using linked lists vs arrays.
- How to build and use linked lists.
- Look for the right source of information without too much help.
- How to manipulate bits and use bitwise operators.