Below are some more interesting facts about C programming:
1. Macros can have unbalanced braces:
2. Use main to declare one or more integer variables:
3. “%m” when used within printf() prints “Success”
m (conversion specifier) is not C but is a GNU extension to printf. The ‘%m’ conversion prints the string corresponding to the error code in errno.
%m only prints “Success” when “errno == 0” (it’s short for a string representation of the last observed error state). For example, if a function fails before the printf, then it will print something rather different.
4. brk(0); can be used as an alternative for return 0;
brk() and sbrk() change the location of the program break, which defines the end of the process’s data segment.
Logically it seems impossible to write a C program without using a main() function. Since every program must have a main() function because:-
- It’s an entry point of every C/C++ program.
- All Predefined and User-defined Functions are called directly or indirectly through the main.
But in reality, it is possible to run a C program without a main function.
Compilation using the command:
gcc filename.c -nostartfiles (nostartfiles option tells the compiler to avoid standard linking)
Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.