废话不多说,直接上图!!
上面两张截图就是我测试二维数组的代码与结果,接下来再来看看一维数组的:
两组数据的对比可以看出二维数组明显难理解一些,那咱们应该如何理解二维数组?
二维数组可以看成是元素为 一维数组 的 一维数组。比如 a[2][3],可以看成是具有两个元素的一维数组(这两个元素是 a[0], b[1]),每个元素又是一个具有三个int型数据的一维数组。
接下来说几个注意事项:
1.首先需要注意的是数组名也是数组的首地址,是地址!!!
例如:a[1][2]、b[1]中的a、b。
2.另外,认真看完图后,有些小伙伴也许就会有疑问,我是不是漏了&(a+1)呢?
其实不是我漏了,&(a+1)是非法的语句,无法编译,因为a+1的结果存放在寄存器中,无法取址,不当然,相信也可以自己动手试试,看看自己的编译器会不会报错。
3.如果你想表达的是取值操作,那应该使用取值操作符*,表达式变为a+1和(a+1),这两个表达式是有区别的:
*a+1表示是先取出a[0]的值,然后对该值加1。
*(a+1)表示的是数组指针先向下跳一位,然后取出其指向的a[1]的值。
4.*(a+0)+i=a[0]+i,是a[0][i]的地址。
补充char类型:
————————————————
版权声明:本文为CSDN博主「我喜欢小黄花」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/orange_monkey/article/details/104349441