一维数组
-
定义
类型说明符 数组名[数组长度] int array[6]
array数组在内存中的存放:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jt4a64Kg-1637054603695)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636964836451.png)]
-
格式化
类型说明符 数组名[数组长度]={初值列表}; int array[5]={0,1,2,3,4}; //1、数组长度可以不写 //2、若写出数组长度为5,但初值列表里只有3个成员,其他两个成员系统自动填充为0
多维数组
-
定义
类型说明符 数组名[第1维长度] [第2维长度] ... [第n维长度]; int arr[3][4]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fQBdv0yi-1637054603699)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636966836580.png)]
-
多维数组的初始化
① 写在大括号内
int arr[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; //可以为int arr[][4],可以省略行下标,不能省略列下标 //每行4列,系统自动确定为3行
② 初值按行分组
int arr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
字符数组
-
定义
char 数组名[数组长度]; char lastname[10]; --二维字符数组-- char 数组名[数组长度1][数组长度2]; char name[3][6];
-
初始化
char lastname[5]={'L','i','u'};
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oMMbrZ5D-1637054603701)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636967365460.png)]
二维字符数组的初始化:
char name[3][5]={{'Z','h','o','u'},{'W','u'},{'Z','h','e','n','g'}};
-
使用字符数组处理字符串
① 字符串在字符数组中的形式
char lastname=[6]="Zheng"; /*等价于*/ char lastname=[6]={"Zheng"}; //该数组的成员为: lastname[0]="Z"
② 字符串结束符
char lastname[5]="Zheng"; //会出现错误,末尾隐含了字符'\0'
③ 字符串的输入输出
//printf() char lastname[]={"Zheng"}; printf("%s",lastname); -->Zheng //scanf() char lastname[6]; scanf("%s",lastname);
-
字符串处理函数
① 字符串复制函数strcpy
strcpy(字符数组1, 字符串/字符数组2) //将字符串复制到字符数组1中去,字符数组1必须写成数组名形式 char s1[10], s2[]="Zheng"; strcpy(s1, s2);
② 两个字符串的连接函数strcat
strcat(字符数组1, 字符串/字符数组2) //把字符数组2中存放的字符串连接到字符数组1中存放的字符串的后面,结果返回字符数组1 char s1[40]="The teacher's name is "; char s2[20]="Han Lidou"; printf("%s",strcat(s1,s2)); -->The teacher's name is Han Lidou
③ 字符串比较函数strcmp
④ 测试字符串长度函数strlen