Sizeof () is compile time. That is why the compiler has to see the full definition of a type, before it can determine the 'sizeof' it. Consider the following:


char a[] = "some string";
......