数组参数的地址和数组参数的第一个元素的地址一样吗?为什么?

如题所述

是数组的地址和数组元素的首地址是一样的....这个很好理解,就想一条线段从头开始每隔一米涂上颜色.......第一次涂的颜色一定在线段的开头处.........
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-15
假设有一维数组a[10],指针变量p要指向这个数组的首地址,即a[0]的地址,那么p=a,似乎是固定的语法,这个数组的首地址就为数组名a,其实应该是a+0;因为零不算,就直接表示成a了。
那么a[0]到a[9]的每个元素的地址,都可以用a+i来表示,i为元素的个数,即a[1]的地址为a+1,以此类推。
故 数组名是没有地址的,只有数组中的每个元素有地址,而数组元素的地址,用“数组名+i”的形式来表示而已。
以上为C语言固定的语法。追问

那假如真的用(&数组名)这个指令的话,会怎样?

追答

你可以试试printf输出看看(&数组名)得出的结果,与指针指向数组名的地址结果是否一样。
&加元素才能行成取址,例如&a[i],i为元数个数

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

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