我想知道,如果给出以下声明:
int first[1][COLUMN_NUMBER];
int second[COLUMN_NUMBER];
这两个二维数组可以以相同或类似的方式访问。我的意思是:它们可以交换吗?我问这个是因为,由于升级,我想避免重构我之前编写的所有代码。
非常感谢。
最佳答案
根据 this piece of code ,应该没有区别。
#include <stdio.h>
int main(void) {
int const COLUMN_NUMBER = 10;
union {
int first[1][COLUMN_NUMBER];
int second[COLUMN_NUMBER];
} u;
u.first[0][5] = 3;
printf("%d\n", u.second[5]);
return 0;
}
关于C:二维数组与普通数组相同大小的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19514547/