int a[10]={1,2,3,4,5,6,7}; fun(&a[3]);为什么是把元素a[3]的地址赋给函数fun?它的地址又是什么

如题所述

a是数组的首地址,a[3]是以a为首地址的第4个元素,&是取地址符,所以&a[3]是取数组的第四个元素的首地址,值等于a+sizeof(int)*3;在写法上是a+3,编译器会自动判断类型,将其解释成a+sizeof(int)*3
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-16
&是取地址符,是取的a[3]在内存中的存储位置,它的值是内存号,不是固定的。
第2个回答  2012-09-16
&是取地址运算符,&a[3]表示取a[3]的地址,a[3]的地址就是4所在存储单元的地址
相似回答