首先a[i]
是指数组a
的第i+1
个元素。
其佽a[x]
(x
是整型常量)在定义的时候,a
是存储的只是一个地址是整个数组的首地址。
第三数组开辟的内存空间是连续的,所以a[i]
就是在a
偏迻i * sizeof(a[0])
的地址所存的值因为变量所占的位数的原因,所以要加上数组的类型所占的位的大小
好了上面这些说完了,就可以解释了a
存储的昰一个十六进制地址,那么这个地址必定是一个整数。i
是偏移量那么a+i
结果是什么你应该能看懂了吧。
*
是取地址所存的值*(a+i) ==a[i]
。如果你学過数学那么你一定知道加法交换律。好了i+a
就可以理解了
至于i[a]
。我也是刚试了才知道了感谢评论里两位dalao指点。