-
数组的访问方式
-
以下标的形式访问数组中的元素
-
以指针的形式访问数组中的元素
-
下标形式VS指针形式
-
指针以固定增量在数组中移动时,效率高于下标形式
-
指针增量为1且硬件具有硬件增量模型时,效率更高
-
下标形式与指针形式的转换
a[n]《=》*(a+n)
注意:现代编译器的生成代码优化率已大大提高,在固定增量时,下标形式的效率已经和指针形式相当;但从可读性和代码维护的角度看,下标形式更优
数组名在有些情况下,可以当做指针来使用,但是它绝对不是指针
-
a和&a的区别
-
a为数组首元素的地址
-
&a为整个数组的地址
-
a和&a的区别在于指针运算
-
a+1 ==》(unsigned int)a + sizeof(*a) 地址相加一个元素
-
&a+1 ==》(unsigned int)(&a) + (sizeof(*&a))==》(unsigned int)(&a) + (sizeof(a)) z