C语言-字符串与转义字符

字符串

C语言中有整形,字符型等等,但是没有字符串类型

由双引号引起的一串字符称字符串类型

"hello!\n"

注意:字符串的结束标志是一个\0的转义字符,在计算字符串长度时,\0是结束标志,不算字符串内容。

int main()
{
    char arr1[]="abc";//可以用一个字符串初始化一个字符数组
    char arr2[]={'a','b','c'};//定义第二个数组,观察与第一个数组的不同之处
    return 0;
}

用vs2022调试时,按f10调试,然后点击调试--窗口--监视--(后会有多个窗口)随便选一个。

在里面输入想要查看的数组,就可以看到该数组里的元素。

可以看到,arr1中存放了4个元素,最后一个是\0。而arr2中没有\0。

即字符串的尾部隐藏了一个\0。

当打印arr1与arr2时

 arr1与arr2在内存上储存时,arr1的储存内容时(a b c \0),当打印到\0时,自动停止打印。

在打印arr2时,arr2存储的内容时(a b c),打印完c后,后面内存里存储的东西我们并不知道,但是计算机没有遇到结束标志就不会停止,会一直往下打印,直到遇到结束标志\0为止。

注意:\0是一个字符,占一个字节

求字符串长度

可以用库函数--strlen,头文件为string,h

#include <stdio,h>
#include <string.h>
int main()
{
    char arr[]="abc";
    printf("%d\n",strlen(arr));//输出为3
    return 0;
}

注意:strlen只能用来求字符串的长度,计算的是\0之前的cchu'x出现字符的个数。

转义字符

即转变原来的意思

例如\n--换行,在n的前面加\,改变了n的意思,此时的(\n)叫做一个转义字符

常见的转义字符

 注意:三字母词,即以前的编译器不支持某些符号如[ ],所以用??)表示],用??(表示[。但是当我真的想表达??)或??(时,就需要在?前加\,写成\?\?)。现在的编译器有了[ ]。也不再支持三字母词了。

注意:\ddd和\xdd

\ddd表示将八进制数ddd转换成十进制数所对应的ASCII码值所对应的字符

\xdd表示将十六进制数d转换成十进制数所对应的ASCII码值所对应的字符

注意:\62==\062,都是一个转义字符

一个转义字符占一个字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c铁柱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值