Learning to write in C and C++ to be a better programmer compared to higher level progrmaming languages, it allows hardware access while giving high level features, bridging the gap. as a systems programming language, it allows
There is one C standard, an IEC ISO document but so many implementations, compilers. the document guarantees behaviors that work for all environments.
There are so many ways to do things in C compared to python
for example when compiling, you pass in a flag to the compiler. Different compilers imprement different flags.
For gcc, there is a default implementation
So when writing c you must always think of the version you are using and pass it to the compiler
Parameters are for function declaration while arguments are for function call
Call by value or by reference - Swapping function demonstrates this
#function pointers are what allows callback functions, you can pass function pointers deep and allows them to be called dynamicaly; this thing learned today is one of the reason why i want to learn c to better understand programming
pointers: * is an operator, you attach it to a pointer type to dereference, meaning to get its value
Compiling C
C has complex include system such that you only include the header files; CMAKE is one way to manage this
