本文主要是介绍再谈数组指针以及二维数组的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
刚才自己在VS上实验了几次总结了一些粗浅的规律:
首先一个基本的概念,二维数组存在二级指针的类似调用关系,或者说就是二级指针的模型。
例如:a[2][3],a指向a[0], a[0]指向a[0][0],虽然从地址上来说,他们指向的是同一个地址,都是首地址,在数量上一直,但进行指针调用的值不一样。*a==a[0],*a[0]==a[0][0],所以**a==a[0][0];
同样,*(a+1)=a[1],也是一个地址的概念。
同样,对于数组指针来说,很像刚才的那个a的概念,它指向一个数组,而不是数组的首个元素,所以是一个整体的概念,例如:
int (*p)[3], a[3]={1,2,3};
p = a;
其中,如果*a就等于1,但是*p等于的是当前内存中a的地址,**p=1;
这篇关于再谈数组指针以及二维数组的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!