struct sub4 { | |
unsigned a; | |
unsigned b; | |
unsigned c; | |
unsigned d; | |
unsigned e; | |
unsigned f; | |
unsigned g; | |
}; | |
struct sub3 { | |
unsigned a; | |
unsigned b; | |
unsigned c; | |
unsigned d; | |
unsigned e; | |
unsigned f; | |
struct sub4 s4; | |
}; | |
struct sub2 { | |
unsigned a; | |
unsigned b; | |
unsigned c; | |
unsigned d; | |
unsigned e; | |
struct sub3 s3; | |
}; | |
struct sub1 { | |
unsigned a; | |
unsigned b; | |
struct sub2 s2; | |
}; | |
struct stuff { | |
signed int a; | |
signed int b; | |
signed int c; | |
unsigned int d; | |
struct sub1 s1; | |
}; | |
static void main(void) | |
{ | |
struct stuff *var; | |
unsigned int *foo; | |
var = (struct stuff *)(0x12345678); | |
foo = &var->d; | |
foo = &((*var).d); | |
foo = &var->s1.s2.s3.s4.g; | |
} |