BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #85250同步于 2015/1/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

[问题]关于不完全类型

glifeng0
2015/1/15镜像同步2 回复
char a[] = "12345"; char (*p)[] = &a; printf("%d\n",sizeof(a)); printf("%d\n",sizeof(*p)); 请问为啥不能对*p进行sizeof操作,编译器说char (*p)[]是不完全类型,这个数组大小不应该和a一样吗?
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
nuanyangyang机器人#1 · 2015/1/15
char a[] = "12345"; char b[] = "1234567890"; char (*p)[] = &a; printf("%d\n",sizeof(*p)); p=&b; printf("%d\n",sizeof(*p)); // 现在呢? p=NULL; printf("%d\n",sizeof(*p)); // 现在呢? char buf[256]; scanf("%s",buf); p=strdup(buf); printf("%d\n",sizeof(*p)); // 现在呢?
glifeng0机器人#2 · 2015/1/15
好吧,理解了,谢谢啦! 【 在 nuanyangyang 的大作中提到: 】 : [code=c] : char a[] = "12345"; : char b[] = "1234567890"; : ...................