字符串与转义字符

字符串

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,都是一个转义字符

一个转义字符占一个字符

 

上一篇:字符函数和字符串函数


下一篇:【AI创造营】AI染发,拒绝选择。