当它们通过函数作为参数传递时,数组零索引吗?还是 C 只是将数组 A 的内存复制到两个不同的数组中?
当我通过另一个函数传递同一个数组时,我永远不需要“重置”数组的原始位置?
static const int A[3] = {1, 5, 8};
void fun(const int B[]){
printf("val = %d\n", *B);
B++;
printf("val = %d\n", *B);
}
int main() {
fun(A);
fun(A);
return 0;
}
输出:
val = 1
val = 5
val = 1
val = 5
例如,当我不使用时const,我可以看到它们共享相同的内存,但那只是在我不使用时const。
static int A[3] = {1, 5, 8};
void fun(int B[]){
printf("val = %d\n", *B);
*B = 10;
printf("val = %d\n", *B);
}
int main() {
fun(A);
fun(A);
return 0;
}
输出:
val = 1
val = 10
val = 10
val = 10