今天学习了C语言的字符串和转义字符;我总结了如下的一些知识点来和初学C语言的小伙伴们
分享一下!也希望能得到大家的指点或者能和大家一起讨论!
字符串的定义:"hello"像这种由双引号引起来的一串字符称之为“字符串”,字符串的结束标志是一个\0的转
义字符。
而在计算字符串长度的时候\0是结束标志,不算作字符串内容。
例1
#include
#include
int main(){
char arr1[]="abc";
char arr2[]={'a','b','c'};
printf("%d\n",strlen(arr1));
printf("%d\n",strlen(arr2));
return 0;
}
注释:strlen由string和lenth组成,表示字符串长度,由于计算字符串长度 。
运行结果为(3 随机数)但在加个\0即{'a','b','c','\0'}运行结果为(3 3) ,而之所以会产生随机数是因为
{'a','b','c'}中没有结束标志\0,所以编译时不知道在什么地方停止。
向\0这样类型的字符就称作为转义字符,就此我总结了C语言当中一些其他的转义字符,如下所示。
1 \?在书写多个连续问号时使用,防止他们被解析成三字母词( 例如'??)'会被一些原来的编译器编译成‘】’) 2 \'表示字符常量
3 \"表示一个字符串内部的双引号
4 \a 表示警告字符,蜂鸣.
5 \用于表示一个反斜杠,防止它被解释为一个转义序列符
6 \b退格符
7 \f进纸符
8 \回车
9 \v垂直制表符
10 \ddd(ddd表示1-3给八进制的数字。如;\130X
11 \xdd(dd表示2个十六进制数字。如:\x30 )
其中值得一提的是第10个转义字符\ddd,如下示例。
例2
#include
int main(){
printf("%c\n",'\132')
return 0;
}
其中\132中132是3三个八进制数字 ,132作为八进制的那个十进制数字,作为ASCII码值所对应的字符,
比如八进制132转化为十进制数为70,而70对应ASCII码表的大写Z,该代码的运行结果也为Z,由此
可知\ddd在编译时只能看作一个字符的长度。