读书笔记之《C语言深度剖析》第一章:关键字

本文是《C语言深度剖析》第一章的读书笔记,详细介绍了C语言的关键字,包括auto、register、static、short、int、long等基本数据类型,以及sizeof、if、else、switch、case、do、while、for等控制结构的关键字,强调了它们的作用、使用场景和注意事项。
摘要由CSDN通过智能技术生成

第一章引言

什么是定义及声明?

定义:定义是编译器创建一个对象,并且为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。

声明:1.告诉编译器该变量名已经匹配了一个内存上。2.告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量

定义声明最重要的区别:定义创建了对象并为这个对象分配了内存,声明没有分配内存


1.1 最宽恒大量的关键字----auto

编译器在默认的缺省情况下,所有变量都是 auto 的。读者可以当作不存在该关键字。


1.2 最快的关键字---- register

这个关键字请求编译器尽可能的将变量存在 CPU 内部寄存器中而不是通过内存寻址访问以提高效率。

1.2.1,皇帝身边的小太监----寄存器

寄存器其实就是一块一块小的存储空间,只不过其存取速度要比硬盘和内存快得多。(价格也贵很多)

数据从内存里拿出来先放到寄存器,然后 CPU 再从寄存器里读取数据来处理,处理完后同样把数据通过寄存器存放到内存里。

1.2.2,使用 register 修饰符的注意点

虽然寄存器的速度非常快,但是使用 register 修饰符也有些限制的:register 变量必须是能被 CPU 寄存器所接受的类型。意味着 register 变量必须是一个单个的值,并且其长度应小于或等于整型的长度。 而且 register 变量可能不存放在内存中,所以不能用取址运算符“&”来获取 register 变量的地址。


1.3,最名不符实的关键字----static

不要误以为关键字 static 很安静,其实它一点也不安静。这个关键字在 C 语言里主要有两个作用,C++对它进行了扩展。

1.3.1,修饰变

第一个作用&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值