测试代码:
#include<stdio.h>
struct foo{
int a;
double b;
char c;
};
int main(void)
{
struct foo foo1;
struct foo *pfoo = NULL;
printf("sizeof(struct foo)=%d\n",sizeof(struct foo));
printf("sizeof(foo1)=%d\n",sizeof(foo1));
printf("sizeof(pfoo)=%d\n", sizeof(pfoo));
pfoo = &foo1;
printf("sizeof(pfoo)=%d\n", sizeof(pfoo));
printf("sizeof(pfoo->c)=%d\n", sizeof(pfoo->c));
printf("sizeof(&foo1)=%d\n", sizeof(&foo1));
printf("sizeof(*pfoo)=%d\n", sizeof(*pfoo));
return 0;
}
输出结果:
sizeof(struct foo)=16
sizeof(foo1)=16
sizeof(pfoo)=4
sizeof(pfoo)=4
sizeof(pfoo->c)=1
sizeof(&foo1)=4
sizeof(*pfoo)=16
不同平台结果不会完全一样。
本文详细解析了C语言中结构体和指针的使用方法,通过实例展示了如何定义、初始化、操作和应用它们,对于深入理解C语言的基础知识具有重要意义。
688

被折叠的 条评论
为什么被折叠?



