我刚刚开始学习用C编程,并且为了提高对指针和数组的理解,我尝试引用数组的元素而根本不创建任何指针:
for(k1 = 0; k1 < ROW; k1++){
for(k2 = 0; k2 < COLUMN; k2++){
array[k1][k2] = k1*COLUMN + k2 + 1;
printf("[%d][%d] = %d\n", k1, k2, *(array[k1] + k2));
}
}
整个代码可以编译并完美运行。
我想必须在大型源代码中为每个数组创建一个指针似乎效率很低。
因此,与其使用指针存储和检索数组的地址,不如上面所示,直接使用数组的地址是一种不好的编程习惯吗?
哈哈,你救了我。我这样做只是为了更好地了解指针和数组的工作原理。
—
Niko Gambt 2015年
指针算术实际上比使用数组索引快30%。
—
安迪
printf "[%d][%d] = %d\n", k1, k2, array[k1] [k2]));
将避免指针的算术运算,并且更易于理解。