1.指针数组 顾名思义,指针数组是存放指针的数组 如 int * arr[6]; //为存放整型指针的数组,int* 为数组元素的类型 定义规则:数组名前为数组元素的类型,数组名后为数组元素的个数
1.指针数组
顾名思义,指针数组是存放指针的数组
如 int * arr[6]; //为存放整型指针的数组,int* 为数组元素的类型
定义规则:数组名前为数组元素的类型,数组名后为数组元素的个数
2.数组指针
数组指针是指向数组的指针
如 int (*p2)[10] ;//p2为指针,指向一个数组,该数组由10个int类型的元素组成
例
int arr[10]={0};
int (*p2)[10]=&arr;//p2为指针,指向arr这个数组,p2就相当于数组名,而数组名又是数组首元素的地址,所以p2本质上是数组首元素的地址。
定义规则:括号前为数组元素的类型,括号后为数组元素的个数。
如
char* arr1[6];//数组元素类型为char*
char* (*p)[6]=&arr1;
3.存放数组指针的数组(进阶)
如 int (*parr3[10])[5] ; //先看括号内部的*parr3[10]为指针数组的形式,括号外则是指针数组的形式;故其本质上是数组中存放的指针指向数组
本文主要是数组指针和指针数组的定义区分,欢迎指正~