数组
一组类型相同的有限个元素的集合
分类:一维数组,二维数组,多维数组
一.一维整型数组
1.定义形式
数组类型 数组名[元素个数];
注:元素个数必须为常量或常量表达式,不能是变量或变量表达式
2.元素访问
数组名 [元素下标];
元素下标:0——元素个数–1
可以用变量,常量或表达式访问
注:不能越界访问
3.数组的初始化
定义数组时对元素赋初值
(1)全部初始化
所有数组元素都可以得到初值
int a[5]={1,2,3,4,5};
(2)局部初始化
给定一部分元素的值,没有给定初值的元素,默认初始化为0
int a[5]={0};
(3)默认初始化
不给定数组元素个数,通过初值元素个数决定数组元素个数
int a[ ]={1,2,3,4,5};
4.内存空间
数组所占空间大小=数据类型所占空间大小*元素个数
连续性:数组所占空间连续
有序性:数组空间存放顺序有序
获得数组元素个数:sizeof(a)/sizeof(a[0])
二.二维整型数组
1.定义
数组类型 数组名[行数][列数];
2.元素访问
3.元素初始化
(1)全部初始化
(2)局部初始化
(3)默认初始化
行能省略,列不能省略
4.存储
数组所占空间大小=数据类型所占空间大小*行数*列数
sizeof(a)/sizeof(a[0][0]);
三.多维数组
N维数组可以理解成是由N–1维数组构成的一维数组
四.字符型数组
1.使用场景
C语言中没有字符串类型,也无法定义字符串变量,只能通过字符型数组,每个元素存放一个字符,最终存放字符串
2.定义
3.初始化
(1)全部初始化
(2)局部初始化
(3)默认初始化
4.存储
字符型数组所占字节=元素个数
5.字符串的输入和输出
输入:scanf(\"%s\",str);
gets(str);
输出:printf(\"str=%s\\n\",str);
puts(str);
6.字符串常见的操作函数
(1)strlen
获得字符串的长度
字符串开头到离开头最近的\0之间的字符个数,不包括\0
注:strlen 获得字符串的长度
sizeof 获得字符串或数组在内存所占字节数
(2)strcpy
字符串的拷贝
strcpy(str,"hello world");
注:目的空间一定要足够大存放的下原字符串
(3)strcat
字符串的拼接,在第一个字符串末尾拼接上第二个字符串
注:第一个字符串空间要足够大
(4)strcmp
字符串的比较
如果两个字符串相同,结果为0
第一个>第二个,结果为>0的值
第一个<第二个,结果为<0的值
两个字符串比较,从左到右每个字符进行比较,不相同的字符,谁的ASCII码值大,字符串就大
五.二维字符型数组
1.定义
char str[5][32];
2.存储
连续性
有序性
3.初始化
char str[5][32]={0};