数组内存
在 C 语言中,无论数组内的元素是什么类型的,对一个元素的地址加一个位移值 n 得到的就是这个元素往后数 n 后所在元素的地址。
一般来说,我们通过在地址上进行运算的方式访问数组的效率是比用数组索引的方式执行更快的。同时,它在一些特殊场景下也会让你写起来觉得很方便。例如,当你只希望访问数组中的每一个元素一次时,你可以通过在一个while循环内使用地址上运算的方式使用数组中每一个元素的值,而无需去关心数组的索引是谁……
// 举个例子方便你直观理解
int n = 3;
int radius[3] = {
34, 66, 233};
int *p_radius;
p_radius = &radius[0];
while (n != 0) {
n--;
printf("%d\n", *p_radius);
p_radius++;
}
从变量到数组
在之前我们提到过,一个数组其实与一系列同类型的变量类似。变量在内存中有自己的地址&#x