#include <stdio.h>
#include <string.h>
struct st1_t {
int a;
int b;
};
struct st_t {
int magic;
short connect;
char master[3];
struct st1_t st1;
};
main() {
printf("%d\n", &(((struct st_t *)0)->magic));
printf("%d\n", &(((struct st_t *)0)->connect));
printf("%d\n", &(((struct st_t *)0)->master));
printf("%d\n", &(((struct st_t *)0)->st1));
printf("%d\n", &(((struct st_t *)0)->st1.a));
printf("%d\n", &(((struct st_t *)0)->st1.b));
}
结果打印成员member相对于st_t的偏移量:
0
4
6
12
12
16
网友评论