前言:
一些初学者在学完数组和指针之后,因为有些地方关联度可能会比较高,就会出现混淆,以及使用错误等各种的情况。
那么今天就让我们来聊一聊“浅谈数组指针与指针数组”的区别,长话短说,让我们来看下面!
数组指针
数组指针理解起来比较简单,他就是指向数组的指针
int main()
{
int arr[10] = {0};
int* p = arr;
//或者
int (*pp)[10]=&arr;
}
我们看到把arr数组的地址传给了指针变量p,那么p就会指向arr数组,p也就可以称作数组指针
指针数组
其实指针数组理解也并不难,不要将他复杂化了,他就是一个数组,只不过里面存的数据就是指针而已
int main()
{
int arr1[10] = {1,2,3,4,5};
int arr2[10] = { 1,2,3,4,5 };
int arr3[10] = { 1,2,3,4,5 };
int* arr[3] = { arr1,arr2,arr3 };
}
其实arr就是指针数组,因为arr数组中的元素是指针,当然这也就衍生出一些东西,我们可以把它直接看作二维数组,可以直接用二维数组遍历的方式去遍历这个指针数组。
它其实与普通数组并没有太大区别,只不过整形数组中存的是int char数组存的元素类型是char
那么指针数组也非常好理解 元素就是指针
如果上面的解释不好理解,我再教你一个更简单的方法:
数组指针 后面两个字是指针 ,那么他就是指针
指针数组 后面两个字是数组 ,那么他就是数组
看完后,我问你
数组指针数组 是什么 显而易见是数组
指针数组指针 是什么 显而易见是指针
上就是我的见解,如有错误和不足的地方。欢迎大家指正,完结撒花。