二维数组

概念:

有两个下标的数组

格式:

[存储类型] 数据类型 数组名[行下标][列下标];
元素个数=行*

int arr[2][3]; // 开了六个int型元素空间
访问元素:
arr[0][0]; // 第一行元素,第0行第0列
arr[0][1]; // 第一行的第二个元素
arr[1][0]; // 第二行的第一个元素

遍历二维数组:for 嵌套

for(i=0;i<行;i++)
{
for(j=0;j<列;j++)
{
printf(“ “,arr[i] [j]);
}
}

初始化问题(局部):

1.定义时,未初始化,初始值为随机值,接下来赋值需要逐个进行赋值。未初始化的还是为随机值。
2.定义时、部分初始化,未初始化为0。
3.定义时全部初始化,可以省略行下标,不能省略列下标。

字符数组

一维字符数组

char ch[4]={ ‘a’ , ‘b’ , ‘c’ , ‘d’ }; // 存放的是单个字符
char ch[]=”hello”; // 字符串
char ch1[]={ ‘h’ , ‘e’ , ‘l’ ,’l’ , ‘o’ };

char ch1[6]=”hello”;
‘h’ , ‘e’ , ‘l’ , ‘l’ , ‘o’ ‘\0’
有 ‘\0’ 结束标志的是字符串。双引号引起来是字符串。

从终端给字符数组赋值:
char ch[32]=””; // 定义存放32个字符的数组并清空
scanf(“%s”,ch); // 不能获取到空格
scanf(“%[^\n]”,ch); // 可输入空格模式

二维字符数组

char st[2][6]={“hello”,”world”}
char ch[32]; // he ll o\0

字符串的输入输出函数:

功能、参数、返回
gets
char gets(char s);
功能:从终端获取一串字符
参数:s:获取到字符串存放的位置
返回值:成功返回字符串存放的位置
puts
int puts(const char *s);
功能:向终端输出字符串
参数:s:字符串的首地址
返回值:输出字符的个数