C语言中二维整形数组和二维字符型数组
一、二维整型数组
1.二维数组定义
类型说明符 数组名[行数][列数];
int a[3][4]; //12 int
float a[3][4]; //12 float
2.二维数组的访问
数组名[行下标][列下标];
行下标:0---》行数-1
列下标:0---》列数-1
3.二维数组的初始化
全部初始化:
int a[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int a[][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
int a[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
注意:
在二维数组有初始化值得情况下,可以省略行数,不能省略列数。
局部初始化:
int a[3][4] = {{1,2}, {5,6,7}, {9}};
int a[3][4] = {1,2,3,4,5,6,7,8};
int a[][4] = {1,2,3,4,5,6,7}; //2行4列
未初始化数据按0存储。
全部初始化为0:
int a[3][4] = {0};
int a[][4] = {0}; //1行4列
int a[2][3] = {{1, 2, 3}, {4, 5, 6}}; sizeof(a); //bytes--->6*4 = 24 sizeof(a[0][0]); //4 sizeof(a[0]); //4*3 = 12 计算行数: sizeof(a)/sizeof(a[0]); //2 ---->行数 计算列数: sizeof(a[0])/sizeof(a[0][0]); //3 --->列数4.二维数组的存储方式
单一性、有序性、连续性。
二、二维字符型数组
一维字符型数组:保存一个字符串
二维字符型数组:保存多个字符串
1.二维字符型数组定义
char数组名[行数][列数];
char str[3][100]; //sizeof(str) --->3*100 = 300字节
2.二维字符型数组初始化
char str[3][100] = {0}; char str[3][100] = {{"hello"}, {"world"}, {"how"}}; char str[3][100] = {"hello", "world", "how"}; char str[3][100] = {"hello", "world"};3.二维字符型数组输入输出
char str[3][100] = {0}; for (int i = 0; i < 3; ++i) { gets(str[i]); } for (int i = 0; i < 3; ++i) { puts(str[i]); //printf("%s\n", str[i]); }