在 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

这是因为 arrarray 指向的是同一段内存地址,它们访问和修改的是相同的数组元素。