C语言基础知识-第四期-字符串+转义字符+注释

本期关键词:字符串、转义字符、注释。


1-字符串

在介绍字符串之前不得不首先回顾关于字符的知识,在C语言中任何可以打印的东西都可以成为一个字符,用char类型的数据进行储存,单引号作为边界【例:char ch = 'w'】如果一个char类型的数据中将多个字符作为一个整体进行储存,则称这个数据为字符串,C语言中并没有独立的字符串类型,它的表示与字符类型相同,都使用char类型的数据,用双引号作为边界以区分【例:char ch[] = "eas&dad^%"】。

1.定义:由双引号引起来的一串字符称为字符串字面值(string literal)简称字符串。字符串字面值都是常量。

2.存储:对字符串的存储需要使用到char类型的数据,格式为【char+变量名+[大小]="字符串"+;】,例如char ch[10]="abcdef";需要注意的是,在这种格式的存储下,字符串会按照顺序被分割成一个个字符分别存放,同时在最后另外存储一个隐藏的【\0】作为结束标志,不会作为内容存在。因此变量名后面的大小需要足够大,以存储字符串的所有字符,如果不能确定字符串的具体大小,可以只写括号不写大小,此时编译器会根据字符串的长度自行分配空间。

另一种存储方式直接将字符串在输入的时候分为多个字符存储,格式为【char+变量名+[大小]={’字符’}+;】这种情况下字符串可以按自己的意愿和顺序存储,最后并不会存储一个隐藏的【\0】作为结束标志。它和前一种存储方式有很大的不同。

 如图所示,ch2的存储方式,因为没有结束标志所有在使用的时候并不能自动停止,将会输出一段随机值,如在末尾加上\0则可以与ch1的表示形式完全等价

在上图的情形里可以认为两种表示方式完全等价。 在使用strlen()函数计算ch1或ch2的字符串长度时,【\0】仍然是结束标志,但并不算入字符串长度中。

2-转义字符

1.定义:转义字符是指转变原本字符的含义以起到非原字符作用的作用,是ASCII码中的一种编码。

注:转义字符的数量有限且是固定的。

转义字符含义ASCII代码
\n回车换行10
\t横向跳到下一制表位置9
\v纵向跳到下一制表位置11
\?连续多个问号时防止解释为三字母词63
\b退格8
\r回车13
\f走纸换页12
\\反斜线符“\”92
\'单引号39
\"双引号34
\a蜂鸣7
\ddd1~3位八进制数所代表字符
\xdd1~2位十六进制数所代表字符

3-注释

1.定义:注解、解释,是代码中用于解释某部分代码的一个描述,它本身不是代码的一部分,没有编译上的意义。

2.用法:有两种注释风格(方法),第一种是C语言的注释风格,格式为【/*+内容+*/】即用/**/将内容框选,有点是可以一次性注释大段多行。第二种是C++风格的注释,格式为【//+内容】,其有点是比较灵活,一次性只注释一行。

但C语言的注释风格会有一点缺陷,即如果在/**/的框定区域内有另一个*/,则框定区域不会全部注释,这是因为/*在遇到第一个*/的时候注释停止。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

St_Ludwig

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

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

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

打赏作者

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

抵扣说明:

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

余额充值