指针与数组
传入函数的数组变成了指针
一下四种函数原型是等价的:
int sum(int *ar,int n);
int sum(int *,int);
int sum(int ar[],int n);
int sum(int [],int);
数组变量是特殊的指针
数组变量本身表达地址,所以:
int a[10];int *p=a;//无需用&取地址
但是数组的单元表达的是变量,需要用&取地址
a==&a[0];
[ ]运算符可以对数组做,也可以对指针做:
p[0]<==>a[0];
*运算符可以对指针做,也可以对数组做:
*a=25;
数组变量是const的指针,不能被赋值
int a[]<==>int*const a=......