二维数组的创建和初始化
//数组的创建
int arr[3][4];
char arr[3][5];
double arr[2][4];
//数组的初始化
int arr[3][4] = { 1, 2, 3, 4 };
int arr[3][4] = { { 1, 2 }, { 4, 5 } };
int arr[][4] = { { 2, 3 }, { 4, 5 } };
二维数组的使用
二维数组的使用也是通过下标的方式。 看代码:
#include <stdio.h>
#include <windows.h>
int main()
{
//数组的初始化
int arr[3][4] = { 0 };
int i = 0;
for (i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
arr[i][j] = i * 4 + j;
}
}
for (i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
printf("%d ", arr[i][j]);
}
system("pause");
return 0;
}
二维数组在内存中的存储
像一维数组一样,这里我们尝试打印二维数组的每个元素。
#include <stdio.h>
#include <windows.h>
int main()
{
int arr[3][4];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
printf("&arr[%d][%d] = %p\n", i, j, &arr[i][j]);
}
system("pause");
return 0;
}
通过结果我们可以分析到,其实二维数组在内存中也是连续存储的。