1.指针数组:
指针数组是一个数组,但数组内的每一个元素都是一个指针
int *arr[10]
char *arr2[4];
2.数组指针:
数组指针式一个指针,指针有能力指向一个数组
int (*p)[10];
3.我们如何区别数组指针和指针数组呢?
int *a[10]; //指针数组
int (*a)[10]; //数组指针
注:
- 我们的变量名先和那个运算符集合就是什么类型的数据
- []的优先级高于*
- int *a[10]; //指针数组,a先与[]结合,说明其是一个数组,*表示它是每个元素一个指针
- int (*a)[10]; //数组指针,()的优先级高于[],所以其先与*集合,是一个指针,然后指向一个大小为10的整形数组
4.指针和数组的定义
数组:char arr[] = "abcdef";
指针:char *p ="abcdef";
5.指针与数组的区别
sizeof(arr);//输出7;
sizeof(p);//输出4;