本文仅供个人记录和复习,不用于其他用途
数组与指针
如果现在有下面一串c语言代码:
|
|
那么,你觉得这三个a
有什么区别吗?猛地一看,觉得这三个都是一样的,输出都是相同的。确实是这样,然而,它们还是存在着很大的不同。
a
代表二维数组的第一个元素的地址,那么第一个元素就是一维数组,所以递增时要增加一个一维数组的大小。
*a
代表一维数组的地址,所以递增只需要增加一个int
的大小。
&a
代表二维数组的地址,所以递增需要增加整个数组。
我们不妨试试看:
|
|
输出如下:
16
4
64
显然就验证了这一点。