问题描述
- 求大神讲解一下指针指向二维数组时该怎么用?
-
指针指向一维数组时只用*(p+n)即可,但是二维数组时候改怎么用呢?
解决方案
个人认为其实二维数组还是一维数组,没有什么区别,例如int a[3][4],就相当于int a[12]。要想访问a[2][3],就用*(a+(4*2+3)*(sizeof(int))),应该是这样,不过我一般用a[4*2+3] 来访问对应的元素
本人也是菜鸟,如果有错还请大神们指正~
解决方案二:
由于指针与数组之间可以若转化,所以在一定程度上可以理解为数组就是指针,指针就是数组,如此理解,数组对应指针,二级指针对应二维数组,
现在解答楼主问题,
访问数组中的某个元素:
cout << p[i][j] << endl; // 此处i和j是下标,需要声明,楼主注意
cout << a[i][j] << endl;
以上两种写法运行结果一致
解决方案三:
二维数组例子:
http://blog.csdn.net/qq_27183003/article/details/49699463
数组和指针
http://blog.csdn.net/qq_27183003/article/details/49638895
解决方案四:
http://www.cnblogs.com/carekee/articles/1948326.html
时间: 2024-08-03 22:22:27