指针与数组
#include<stdio.h>void f(int *pArr,int len)
{
pArr[3]=88;
}
int main(void){
int a[6]={1,2,3,4,5,6};
printf("%d\n",a[3]);
f(a,6);
printf("%d\n",a[3]);
return 0;
}
/* *pArr[3]与a[3]是同一个变量,他们互为拷贝,实际内容一样
我的理解是数组名是一个地址,*PArr通过函数传递的是数组的地址。所以定义函时不需要取地址了。
这个程序的作用是修改数组的值,所以
printf("%d\n",&a[3]);输出地址违背题意。
体会
变量名与变量实际内容联系紧密,就像房子门牌号与房子里的人一样。又相互独立。