I find it strange that NULL is passed to printf below. Since p is NULL, it seems more likely that p->s would blow up before the function call.
Code:#include <stdio.h> typedef struct { char s[100]; } Object; int main() { Object *p = NULL; printf("%s\n", p->s); // prints (null) return 0; }