同一维数组相似,对于1个二维数组编译器也会为其开辟一段连续的内存空间用于数据存放。这个时候编译器有2种可能的数据存放方式:按行存放和按列存放。请你编写程序探索一下C语言使用的存放方式是哪一种(注:请不要在程序中使用指针类型变量)。
时间: 2024-05-28 11:15:30 浏览: 37
二维数组在内存中的存储
#include <stdio.h>
int main()
{
int a[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
// 按行存放,每行连续存放
printf("按行存放:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
// 按列存放,每列连续存放
printf("按列存放:\n");
for (int j = 0; j < 4; j++) {
for (int i = 0; i < 3; i++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
阅读全文