二维数组:
1.数组的定义:数据类型 数组名[行数][列数]; 数据类型 数组名[第一维大小][第二维大小]
注意:数组定义时行数、列数必须为常量或常量表达式,不能为变量或变量表达式
2.元素的访问: 数组名[行下标][列下标]
行下标范围: 0 - 1
列下标范围: 0 - 2
a[0][3] //错
a[2][0] //错
行下标、列下表:常量或者变量或者表达式
3.二维数组初始化:
全部初始化:int a[2][3] = {1,2,3,4,5,6};
局部初始化:int a[2][3] = {1,2,3}
默认初始化:注意:行能省略,列不能省略
- 二维数组的储存:
有序性:数组存放的空间是连续的
有序性:数组存放的顺序有序
二维数组: 由一维数组构成的一维数组
N维数组可以理解为由一维数组构成的N-1维数组
字符型数组:
在c语言中字符型数组来储存字符串
- 字符型数组定义:
char 数组名[元素个数]
注意:
- .元素个数必须为常量或者常量表达式
- .元素大小必须能存放下字符串和末尾\0字符
字符型数组和字符串的区别:
- 字符串:一定包含最末尾的\0字符
- 字符型数组:一组字符的集合,最末尾不需要一定是\0字符
- 字符串的输入输出:
输出:1.printf(“%d\n”,str);2.puts(str);
输入:1.scanf(“%s”,str); 2.gets(str);
字符型数组初始化:
- 全部初始化:
char str[6] = {“hello”}; =”hello”; ={‘h’,’e’,’’l’,’l’,’o’,’\0’}
2.局部初始化:
3.默认初始化:char str[] = {“hello”};
4.字符型数组的存储:
字符型数组所占空间大小:元素个数
字符串长度:从字符串开头到\0中间元素个数(不包含\0)
- 获得字符串产犊:
strlen:
- 字符串的拷贝:
strcpy(str,”hello world”);
将字符串拷贝到数组中
- 字符串的拼接:
strcat
注意:目的空间必须能够放下拼接后的字符串
- 字符串比较:
strcmp(str1,str2)
返回0:两字符串相同
返回>0:第一个字符串>第二个字符串
返回<0:第一个字符串<第二个字符串
两个字符串从左至右比较,第一个不相同的字符的ASCII码值谁大
字符型二维数组:
存储字符串数组
- 定义:
char str[第一维大小][第二维大小];
- 初始化:
- 局部初始化:
字符串的遍历: