1.数组指针类型:1.依然是指针类型 2.指向数组
2.数组指针的定义:
指向的数组的元素类型 (*数组指针名)[数组大小];
3.数组指针的内存:4个字节
4.数组指针的初始化和赋值:
1.一维数组名及以上的地址赋值;
2.二维数组名及以上;
int n[3][4];
//n[0](int*):大小为4 n[0] = &n[0][0]
//n(数组指针):n = &n[0];//n指向一维数组
//定义了一个数组指针p,p指向n[0]
int(*p)[4] = &n[0];
int m[4];
//p指向m
p = &m;//&m[0]
p = &n[1];
p = &n[2];
p = n;
int k[2][3][4];
p = &k[0][0];
p = k[0];
p = *k;//* k = * &k[0] =&k[0][0]
//区分数组还是指针:看变量名后面是否紧跟数组大小
//数组:变量名紧跟数组大小
//定义了一个指针p,p指向数组指针
//该数组指针指向大小为4,元素类型为int型的一维数组
int(**p)[4];
//定义了一个大小为5,元素类型为数组指针类型的一维数组p
//该数组指针指向大小为4,元素类型为int型的一维数组
int(*p[5])[4];//数组
//定义了一个指针p,p指向数组指针
//该数组指针指向大小为4,元素类型为int*型的一维数组
int*(**p)[4];
//定义了一个大小为5,元素类型为指针类型的数组p
//该指针指向数组指针
//该数组指针指向大小为4,元素类型为int*型的一维数组
int*(**p[5])[4];//数组
int n[3][4];
int* p1[4];//指针数组