>>13
there's also fixed size integers added with c99.
(u)intN_t
sizeof is a keyword, not a function. remove that () from there.
You use sizeof on operators*, objects and values.
*(cast) is considered an operator.
char *p = "string literal"
printf("%zu\n", sizeof p); /* prints sizeof(void*) */
char buf[] = "string literal"
printf("%zu\n", sizeof buf); /* prints sizeof "string literal" */
read http://4-ch.net/code/kareha.pl/1187046689/14-23 to learn more about similarities and differences between pointers and arrays.