到底什么是“数组的首地址”?刚学C,不太懂

经常看到“实参是数组名的话,传递的是数组的首地址?这是函数调用那张的话,请问实参把数传给形参,简单变量还比较好理解,换成数组说”传递数组的首地址“,这个首地址到底是什么哦,怎么理解?

其实就是数组的第一个元素的地址,比如说数组a[10],它的首元素就是a[0]。如果作为实参传入的话就是a[0]在内存中的地址。可以用指针来接收。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-28
比如有函数这样定义:
void fun( int arr[], const size_t len )
{
......
}
在主函数main中这样调用:
int main(void)
{
size_t i;
int arr[ARR_SIZE] = { ...};
/* 进行二路插入排序 */
fun(arr, ARR_SIZE);
...
}
此时主函数中的fun(arr, ARR_SIZE);就是调用了该函数,而参数arr传递数组arr[ARR_SIZE]的首地址。
第2个回答  2008-03-28
数组首地址就是数组第一个元素的地址,通常用数组名代替.例如,
int a[10];
就是a==&a[0]
知道了不,建议你用清华大学谭浩强教授的C语言程序设计教材,非常通俗!
第3个回答  2008-03-28
就是数组中第一个元素的地址,着重看看堆和栈的关系,可能就会明白了!
第4个回答  2008-03-28
就是保存数组中第一个数据的地址
相似回答