int ar[10] ={12,23,,34,45,56,67,78,89,90,100}; cout<<sizeof(ar)<<endl; cout<<sizeof(&ar)<<endl;

打印的值?

第1个回答  2012-06-19
40
4
第一个就不用多说,第二个,&ar指的就是数组第一个元素的地址,而该地址是一个int型。
第2个回答  2012-06-19
40
40追问

按理说第二个应该是4 啊,在vc2005中是4 。在vc++中是40.这个不懂。

追答

不同编译器给出的答案有所不同。
大多编译器将&a看作一般指针,于是其大小为4。
vc6,将其看作字符指针,于是测试的是字符数组的大小,于是有40

本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网