1.字符串以及字符常量
1.字符串
“hello,word.\n”
“zzxxcc”
由双引号引起来的一串字符串称为字符串字面值,简称字符串
字符串的结束标志是一个\0的转义字符,在计算字符长度的时候\0是结束标志,不算作字符串内容
2.字符常量
'w'
单引号引起来的叫做字符常量
2.创建字符变量
1.字符变量
char ch = 'w'
用char创建ch这个字符变量,把w这个字符常量存储到变量中
2.字符串单位
char ch[] = "garghstjaw"
字符变量后面的括号用来确定存储字符串的单位有多少
如果为空,则自动根据后面的字符串来确定存储单位的大小
如果有数字,则根据数字大小确定存储单位的大小,如[10]则有10个单位大小
\0作为结束字符,占用存储单位
3.求字符串长度
可以通过string lebgth求字符串长度
strlen属于库函数,使用库函数需要调用头文件string.h
# include <string.h>
int len = strlen("abcdefg"); //创建int类型的变量len来接收strlen返回的字符串长度
printf("%d\n",len); //通过打印整形的形式输出
结果为7
/0 虽然占用一个存储单位但是实际上在求字符串长度的时候是不计算的
3.字符串案例
通过创建字符串以及字符常量并打印,我们可以更好的了解这字符串以及字符常量
1.打印字符串
题外话:我的vs2022没有监视哪位大佬教教我怎么办啊
我用的f10调试看的局部变量
查看后arr实际占用了7个单位
ch则只占用了6个单位,因为没有\0
在打印字符串后,arr正常输出,ch则遇到了乱码
因为ch没有结束字符,他只能在内存中寻找\0,找到后才会结束
解决办法,可以添加'\0',结果输出正常
2.求字符串长度的值
求字符串长度的值
# include <string.h>
int len = strlen("abcdefg"); //创建int类型的变量len来接收strlen返回的字符串长度
printf("%d\n",len); //通过打印整形的形式输出
反过来,也可以求别的长度 ps:记得换成%d整形输出
如果删掉\0,则会在正常的基础上往后继续寻找\0,直到找到为止
朋友看了一眼,让我补充
空格也算一个单位,choqwcac,在ac前面加了一个空格,存储单位从8变成了9
4.尾声
此上就是我在学习字符串的简单学习心得,有错误希望各位大佬指出,小的会在第一时间检查并修改,让我们下一篇再见