Govt. Exams
Entrance Exams
C99 allows function declarations within blocks; they have scope limited to that block. This is different from function definitions which remain at file scope.
The syntax (*funcPtr) indicates funcPtr is a pointer. It points to functions taking two ints and returning int.
C doesn't support multiple return values. Both pointers (call-by-reference) and structs are valid techniques.
For mutual recursion, you need forward declaration (prototype) of at least one function before it's called by another.
Without base case, recursion never stops, causing stack to overflow as return addresses keep accumulating.
The volatile keyword tells the compiler not to optimize away variable accesses, ensuring the variable is read from memory each time.
Function pointers enable runtime polymorphism by allowing selection of which function to call based on runtime conditions.
While C99 guarantees support for at least 127 parameters, the actual limit is implementation-dependent and varies by compiler.
C does not support function overloading. To achieve similar functionality, use different names or variadic functions (using ...) or union of function pointers.
The 'inline' keyword is a hint to the compiler to replace function calls with the function body, reducing overhead but increasing code size.