问题描述
- 可以用一个一级指针指向一个二维数组吗?
-
看到书上写的都是二级指针,如int *p[4]等等,
数组不是在内存中的存储是连续的吗,
为什么不用一级指针直接指向第一个元素呢?
解决方案
直接用一个指针,就可以完成指向数组的功能,无论数组是多少维。
只是指向后,如果控制下标需要自己考虑。其实,数组名就可以认为是一个静态的指针。
解决方案二:
建议你读下这篇文章
http://www.cnblogs.com/wanpengcoder/archive/2010/07/17/1779503.html
解决方案三:
数组确实是连续的,但不能用一级指针指向一个二维数组,因为一级指针中存的是值的地址,而二级指针存的是指针的地址。
解决方案四:
就你的例子而言,int *p[4]是个数组,里面有4个整数指针,但这四个指针执向的整数不要求是连续的,可以是离散存储的,所以这不等价于整数的二维数组。
时间: 2024-09-03 18:54:44