用数组名作为函数参数,传递的是地址
实参是数组名a,形参是arr。
此时,a和arr在内存中代表了同一块内存空间。
void change(int arr[2]){
printf("arr = %p\n",arr);
arr[0]=18;
}
int main(int argc, const char * argv[]{
int a[2] = {1,2};
printf("a = %p\n",a);
change(a);
printf("a[0] = %d\n",a[0]);
return 0;
}
输出结果,e25E5ܰ%�5E5��%2�E7�925B8%�5��。a[0] = 18;
所有的地址都是占8个字节。