|
- typedef struct {
- int age;
- int num;
- }student;
- student s[3] = { {1,2},{3,4},{5,6} };
- student *p1 = &s;
- printf("size of s = %d ,s[0]= %d \n", sizeof(s), (sizeof(s)/sizeof(s[0])));
- printf("size of *p1 = %d ,size of p1 = %d \n", sizeof(*p1), sizeof(p1));
- printf("size of student = %d \n", sizeof(student));
- printf(" %d \n", *(s + 1));
- student a = *(p1 + 1);
- printf(" %d \n",a);
- printf(" %d \n", a.age);
- printf(" %d, %d \n",*s ,a.age);
复制代码
以下是在VS2019是编译输出的结果
size of s = 24 ,s[0]= 3
size of *p1 = 8 ,size of p1 = 4
size of student = 8
3
3
3
1, 2
我的问题是a.age是3啊为啥打印2?????????? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|