提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、一维字符串数组
- 1.特性
- 2.定义
- 3.数组元素访问
- 4.字符型数组的存储
- 5.字符型数组的初始化
- 1.全部初始化
- 2.局部初始化
- 3.默认初始化
- 6.字符串的打印
- 1.printf%s
- 2.puts
- 7.字符串的接收
- 1.scanf%s
- 2.gets
- 8.字符型数组和字符串常见命令
- 1.统计字符型数组中存放的字符串长度
- 2.字符串的拷贝
- 3.字符串的拼接
- 4.字符串的比较
- 二.二维整型数组
- 1.数组定义:
- 2.数组元素的访问
- 3.数组的存储
- 总结
前言
数组好难呀> <
提示:以下是本篇文章正文内容,下面案例可供参考
一、一维字符串数组
1.特性
C语言中没有字符串类型,操作和存储字符串需要通过字符型数组实现
2.定义
数据类型 数组名[元素个数]
元素个数必须为常量 元素个数必须足够,确保能够存放下字符串末尾的\0字符3.数组元素访问
charstr[20];str[0]str[1]str[2]..str[19]4.字符型数组的存储
charstr[20];字符型数组所占空间大小 == 数组元素个数
可以通过sizeof (a) / sizeof (a[0]) 来获得数组元素个数
5.字符型数组的初始化
1.全部初始化
charstr[6]={'h','e','l','l','o'}//没有\0charstr[6]={"hello"}charstr[6]="hello"2.局部初始化
charstr[6]={'h','e','l'};charstr[6]={"hel"};charstr[6]="hel";charstr[6]={0};数组中0的含义
(1)0:零 对应二进制:00000000
(2) ‘\0’: 反斜杠0 对应二进制:00000000 与零等价
(3)‘0’:字符0 对应二进制:00110000 与48等价
3.默认初始化
charstr[]={'h','e','l','\0'};charstr[]={"hel"};charstr[]="hel"//尽量不要使用默认初始化6.字符串的打印
1.printf%s
charstr[20]={0};printf("%s",str);2.puts
charstr[20]={"hello world"};puts(str);//puts会在字符串末尾多打印一个\n7.字符串的接收
1.scanf%s
charstr[20]={0};scanf("%s",str);//scanf不能接收空格2.gets
charstr[20]={0};gets(str);8.字符型数组和字符串常见命令
1.统计字符型数组中存放的字符串长度
strlen:统计字符串的长度
#include<string>//要有头文件charstr[20]={"hello"};intlen=0;len=strlen(str);//字符串长度len=sizeof(str);//数组所占空间大小2.字符串的拷贝
charstr[100]={0};strcpy(str,"hello world");3.字符串的拼接
charstr1[32]={"hello"};chat str2[32]={"world"};strcat(str1,str2);注意:目的空间一定要能够放下拼接后的字符串
4.字符串的比较
ret=strcmp(str1,str2);注意:strcmp会返回三种值
(1)0:表示两个字符串相等
(2)>0:第一个字符串 > 第二个字符串
(3)<0:第一个字符串<第二个字符串
从左到右依次比较,直到不相同的字符谁的ascii码值大,谁就大
二.二维整型数组
1.数组定义:
数据类型 数组名[行数][列数];inta[2][3];行数,列数必须为常量
2.数组元素的访问
数组名[行下标][列下标];a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]3.数组的存储
inta[2][3];数组所占空间大小 == 数据类型所占空间大小 * 元素个数
二维数组存放顺序:逐行从左到右存储