指针数组与数组指针:
指针数组:
是由指针变量组成的数组,他的成员都是类型相同的指针变量
int* arr[长度];
数组指针:
专门指向数组的指针
int (*arrp)[长度];
注意:一般在使用堆内存时,可能会使用他们来定义二维数组
指针与数组名的关系:
数组名就是一种特殊的指针,数组名是一个常量,不能修改他的值,他与
数组的内存首地址之间是映射关系,他是没有自己的存储空间的
数组名 == &数组名 == &数组名[0]
指针变量有自己的存储空间,指针变量是可以被修改得,
如果它存储的是数组的内存首地址,那么指针变量可以当作的数组使用
数组名也可以当作指针一样使用
数组名[i] == *(数组名+i)
*(指针名+i) ==指针名[i]
数组作为函数参数时蜕变成指针传递过去,所以长度才会丢失
void func(int arr[],int len)
void func(int* arr,int len)



