c language and std library 31 identifiers (words that c reserves): "auto enum restrict(*) unsigned break extern return void case float short volatile char for signed while const goto sizeof _Bool(*) continue if static _Complex(*) default inline(*) struct _Imaginary(*) do int switch double long typedef else register union " unsigned long long(*) 8 bytes 0 to 18,446,744,073,709,551,615 -- good number important confusing stuff:" Table 1-14. Memory accessing operators Operator Meaning Example Result & Address of &x A constant pointer to x * Indirection *p The object (or function) pointed to by p [ ] Array element x[i] *(x+i), the element with index i in the array x . Member of a structure or union s.x The member named x in the structure or union s -> Member of a structure or union p->x The member named x in the structure or union pointed to by p" good macro:"#define MAX(a,b) ((a) > (b) ? (a) : (b))" i think i prefer c++ to c :)