ioro55555 发表于 2010-10-6 16:59:29

CCS编译器的sizeof怎么不对啊

定义一个指针数组如下(17个指针元素):
Uint16 *all_array[] = {Str0,Str1,Str00,Str3,Str4,Str5,Str6,Str14,Str7,Str11,Str12,Str9,Str10,Str19,Str8,Str22,Str23};
sizeof(all_array) 应该为34,
而且用&all_array减去&all_array的值也是34,
这证明编译器给array_all分配的内存就是34,
可是在watch 中 sizeof(all_array) = 23。
很是奇怪啊,大侠们的编译器也这样吗?

ioro55555 发表于 2010-10-8 08:19:43

我这边的CCS都这样,大侠们有时间自己测试一下,给个反馈,谢谢~

chiaw 发表于 2010-11-20 11:10:46

1.先为all_array--all_array分配一片内存再计算

ioro55555 发表于 2010-11-27 09:31:23

回复【2楼】chiaw
-----------------------------------------------------------------------

Uint16 *all_array[] = {Str0,Str1,Str00,Str3,Str4,Str5,Str6,Str14,Str7,Str11,Str12,Str9,Str10,Str19,Str8,Str22,Str23};
的时候不是分配完了吗?
页: [1]
查看完整版本: CCS编译器的sizeof怎么不对啊