若a[10],则sizeof(a)的用法?(C++)

有说明语句:int a [10] 及函数:int fun( int x[10] , int n ) { return sizeof (x); }
则语句 cout<<fun(a,10)<endl; 输出的结果为什么是4而不是40?

数组名作为函数参数退化为指针,在你这个例子里的fun(a,10),这里a是一个整形指针,在32位机上,大小是4字节

当然不同的CPU,不用编译器,有可能数值会不一样

我这是64位的,用的是g++

追问

好的,我懂了 谢谢您!

温馨提示:答案为网友推荐,仅供参考
相似回答