在 C 语言中,将数组名作为函数参数传递时,实际上传递的是该数组的首地址。这意味着形参数组和实参数组共享同一段内存空间。
举例说明:
void fun(int arr[], int n) {
// ... 函数体操作数组元素 ...
}
int main() {
int array[10];
// ... 初始化数组 array ...
fun(array, 10);
// ... 此处 array 的元素值可能已被 fun 函数修改 ...
return 0;
}
在上述代码中:
array
是实参数组名。arr
是形参数组名。- 调用
fun(array, 10)
时,将array
的首地址传递给fun
函数。 - 在
fun
函数内部对arr
的任何修改都会直接影响到main
函数中的array
。
这是因为 arr
和 array
指向的是同一段内存地址,它们访问和修改的是相同的数组元素。
暂无评论