1.12、C语言二维数组

二维数组
语法: 存储类型 数据类型 数组名[一维长度][二维长度]
数组名[行][列]

二维数组在本质上,是一个一维数组的列表。

数值二维数组
int a[3][4];

列 0 列 1 列 2 列 3
行0 a[0][0] a[0][1] a[0][2] a[0][3]
行1 a[1][0] a[1][1] a[1][2] a[1][3]
行2 a[2][0] a[2][1] a[2][2] a[2][3]

a[i][j] i–行 j–列
注意:二维数组在内存中是连续存储的.

1、定义并初始化
int a[2][3]; //只定义
int a[2][3] = {{1, 2, 3},{4, 5, 6}}; //定义并初始化
int a[2][3] = {1, 2, 3, 4, 5, 6}; //与上相同
int a[2][3] = {{1, 2, 3}}; //后续为0
int a[2][3] = {0}; //初始化为0
int a[ ][3] = {{1, 2, 3},{4, 5, 6}}; //a[2][3]
int a[ ][3] = {1, 2, 3, 4, 5, 6}; //a[2][3]
int a[ ][3] = {1, 2, 3, 4}; //a[2][3],后续为0

只允许省略行,而不允许省略列;

2、定义然后赋值
int a[2][3];

a[0][0] = 1;
a[0][1] = 2;
a[0][2] = 3;
a[1][0] = 4;
a[1][1] = 5;
a[1][2] = 6;

给a[2][3]赋值并输出

二维数组名
是第0行的首地址,虽然与&a[0][0]一样,当性质不同,与a[0]一样
在这里插入图片描述

字符二维数组
char str[3][10] = {“hello”,“world”,“chinese”};
str[0] = “hello”;
str[1] = “world”;
str[2] = “chinese”;

char str[3][10] = {{‘h’,‘e’,‘l’,‘l’,‘o’},{…},{…}};
char str[3][10] =

练习
定义一个二维数组
int arr[15][15] = {0};
将数组打印:15*15

接受用户输入的指定坐标,将数组对应位置写为1,再打印,无限循环。

猜你喜欢

转载自blog.csdn.net/qq_41110647/article/details/106315314