C语言: printf("%d”, sizeof(&a[0][0]); 我想问的是:无论a是什

C语言:
printf("%d”, sizeof(&a[0][0]);

我想问的是:无论a是什么数据类型,其输出结果都为4(在32位系统中),这句话对吗?

对啊。在32位系统中,一个指针本身所占空间总是4字节啊,所以与类型无关了。&a[0][0]就是二维数组a的首元素的地址,无论它是什么类型,存放它的空间首地址总是4字节。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-07
对的呀,这里是取的地址,求的是我们常说的长度(如果专业一点说就是返回一个对象或者类型所占的内存字节数)。
这里涉及到很多专业的内容,如果有兴趣可以参考http://baike.baidu.com/view/1078660.htm
第2个回答  2013-12-07
不对 int型32位是4位 其它不是
第3个回答  2013-12-07
貌似不对追问

为什么呢?在32位系统中所有内存的地址不是都占四个字节吗

追答

你是用那个编的?

追问

vc++6.0

追答

你是c++?

A占一个字节

第4个回答  2013-12-07
数组a的类型不一样,比如整型和字符型所占的字节一样么?追问

sizeof(&a[0][0])这是测地址所占字节还是变量a所占内存单元?

相似回答
大家正在搜