Just a silly question as I'm not much at home in advanced C-programming: why does pointers in C need to be declared as certain types ? I figure this is a compiler-directive to have access to the different offsets in the varibales/structures/functions, am I correct ? :-?