栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言深层挖掘-----sizeof与strlen,变量的生命周期,转义字符

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言深层挖掘-----sizeof与strlen,变量的生命周期,转义字符

温馨提示,早晨期间,一定不要浏览视频或小说等娱乐软件,会使脑袋混乱,影响一天的状态!新的一天开始了,那就享受当下吧~

文章目录
  • 前言
  • 1. sizeof与strlen的应用
    • 1.1 sizeof 保留关键字,单目操作符
    • 1.2 strlen 函数
  • 2. 变量的生命周期
    • 2.1 局部变量
    • 2.2 全局变量
  • 3. 详解转义字符
  • 总结


前言

C语言,每个人都初识过,基本的语法都能会,但学完之后,又觉得自己太菜,总觉得有的深层知识点错过了,那么,今天跟随yena,看看还有哪些知识点你没有掌握呢~


1. sizeof与strlen的应用 1.1 sizeof 保留关键字,单目操作符

sizeof,注意它可不是函数,是C语言中的保留关键字,也可以认为是一种单目操作符,作用是获取数据在内存中所占用的存储空间,以字节为单位。

如上代码,因为sizeof不是函数,所以 printf(“%zun”, sizeof a);中,a可以不带括号哦。
注意,sizeof无法统计动态分配内存的大小,比如C++new出来的空间,sizeof无法统计。

1.2 strlen 函数

strlen函数用于求字符串的长度,使用需要加上头文件
你来猜一下,下面代码的输出结果吧。

结果是6,22。第一个是正确的,为什么第二个数这么离谱呢?strlen函数是如何统计字符个数的呢,原来呀,strlen统计的是’’之前的字符个数,不包括’’,所以,只有遇到’’,它才知道字符串截止了,即’’是字符串截止的标志。所以如下代码,在下面的字符数组的结尾加一个’’就可以啦~

2. 变量的生命周期 2.1 局部变量

局部变脸是{}内部定义的变量,它的生命周期是,进作用域开始,出作用域结束,即它的作用域就是它所在的{}

如上代码,在小{}内部定义的局部变量a,出了它的作用域,a的生命周期结束。因此,在小{}外打印生命周期已结束的a是非法的。

2.2 全局变量

在{}外部定义的变量为全局变量,全局变量的生命周期是:整个程序的生命周期

如上代码,当全局变量与局部变量名相同时,以局部变量值优先

3. 详解转义字符

在C语言中,字符有两种表示方式,一种是直接书写出来,例如’A’,一种可以用’'后加ASCII码值表示,这种使用编码值来间接表示字符的方法为转义字符。

转义字符及释义
? 在书写连续多个问号时使用,防止他们被解析成三字母 词,在旧的编译器中,三字母词 ‘ ??) ’会转义为一个‘ ] ’,
’ ??( ’ 会转义为’ [ ’ 。
’ 用于表示字符常量 ’
" 用于表示一个字符串内部的双引号
用于表示一个反斜杠,防止它被解释为一个转义序列符。
a 警告字符,蜂鸣,不输出,会响一下
b 退格符
f 进纸符
n 换行
r 回车
t 水平制表符
v 垂直制表符
ddd ddd表示1~3个八进制的数字。 如: 130—>X
xdd dd表示2个十六进制数字。 如: x30—>0

注意:因为转义字符与ASCII码对应,ASCII码中最大能表示的数为十进制数127,故八进制最大值为’177’—>(十进制127)
十六进制最大值为’x7f’—>(十进制127)。

来做几道题检验一下吧
printf(“abcdefn”);
printf(“c:testtest.cn”);
printf(“a”);
printf(“abcndtefn”);
printf(“%cn”, ‘130’);
printf(“%cn”, ‘x063’);
printf(“%cn”, ‘’');
printf(“abcdefn”);
printf(“”n");
printf(“%dn”, strlen(“qwer t”));
printf(“%dn”, strlen(“c:test628test.c”));

公布答案,你都做对了吗?
注意最后一道题,‘t’ , ‘62’ 是一个转义字符哦~

附ASCII码表


总结

本节我们回顾了sizeof与strlen,变量的生命周期,转义字符,你学会了吗?不懂的地方可以在评论区留言,觉得有用就收藏起来,时常回顾吧,有不足的地方期待大家来完善,私聊yena也可以呀~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号