|
发表于 2017-7-9 19:45:23
|
显示全部楼层
本帖最后由 湛无双 于 2017-7-9 19:51 编辑
楼上分析的正确,编译环境是VS2013的时候,在32位的条件下,程序如下:
- #include "stdio.h"
- const char*Disp[] =
- {
- { "temp111" },
- { "vol" },
- { "light" },
- };
- const char temp[] = "temp1111";
- int main(void)
- {
- printf("%d\n", sizeof(Disp));
- printf("%d\n", sizeof(Disp[0]));
- getch();
- return 0;
- }
复制代码 编译结果如下:
说明在32位的平台下,sizeof(Disp)的大小为12,sizeof(Disp[0])的结果为4,那么最终结果为3。
接着更改为64位平台:
更改后的结果为:
可以发现在64的结果下,sizeof(Disp)的结果为24,sizeof(Disp[0])的结果为8,最终的结果还是3。
所以最终的结果与楼上的分析是符合的。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|