Q. What int value means in exit(int) function?
A: Return a value to OS, let OS know the exit state of your process.
Only lowest 8 bits are used. Usually return 0 means no error. Otherwise, errorcode.
Q. Is *(p++) the same as (*p)++?
A: No, absolutely not.
- *(p++) is getting the value pointed by the pointer first, then move the pointer by 1.
- *(p)++ is getting the value pointed by the pointer first, then add 1 to the value.
#include<stdio.h> void main() { long llist1[3] = {50, 60, 70}; long* p1 = llist1; p1++; printf("%d/n", *p1); // 60 long llist2[3] = {50, 60, 70}; long* p2 = llist2;
Q. What does define mean in C, is it constant?A: No, it is called macro, which just replace the same notation with the same text.It can be used as constant, but be careful, there should be no "=" sign there. See the following example.#define THREE 3 #define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0])) long n = (*p2); n++; printf("%d/n", n); // 51 }