以下面的程序为例:
#include<stdio.h>
void test(int arr[2]){
printf("arr = %p\n",arr);
arr[0]=100;
}
int main(){
int a[2] = {3,4};
printf("a = %p\n",a);
test(a);
printf("a[0] = %d\n",a[0]);
return 0;
}
\\运行结果:a = 0028FF40
arr = 0028FF40
a[0] = 100
分析: 此时arr没有被分配存储空间,而是arr和数组名a指向同一个内存空间,即a通过函数test()将地址传给了arr。这说明用数组名作为函数参数时,传递的是地址。 |
|