1、register

在函数内定义变量时。默认是 auto 类型,变量存储在内存中,当程序用到该变量时,由控制器发出指令将内存中该变量的值送到运算器,计算结束后再从运算器将数据送到内存。假设一个变量用 register keyword修饰。编译器则尽可能将该变量存放在CPU的内部寄存器中,这样就不用通过内存寻址来訪问变量,能够大大提高訪问效率。

2、volatile

volatilekeyword修饰的变量或地址。则每次使用时,变量的值或地址指向的值都要又一次从内存中获取。

假设没实用volatilekeyword修饰,编译器优化时,在同一进程中当上一次对这个地址操作的值在该进程中没有被改动时,他会自己主动把上次读的数据取出来而不会又一次从内存地址中获取内容。

该情况在嵌入式系统、驱动编程中常常使用,通常是对寄存器或硬件I/Oport的操作。

3、inline

inlinekeyword修饰的函数称为内联函数。在程序编译时,编译器会将程序中出现的对该函数的调用表达式用该函数的函数体来进行替换。类似于宏替换,只是相比宏替更easy理解,不易出错。

inlinekeyword多用于定义函数体代码短且调用频繁的函数。以目标代码的添加为代价来节省函数频繁跳转的时间成本。

4、。。。。

。。

C语言各种keyword相关推荐

  1. C语言速看,C语言高速入门系列(二)

    C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...

  2. Java中transientkeyword的应用

    今天跟JDK源代码的时候发现transient ,感觉从来没见过,于是用google查了一下. Java语言的keyword,用来表示一个域不是该对象串行化的一部分.当一个对象被串行化的时候,tran ...

  3. 【Python】【Python语言】Python3.7.2的关键字模块(keyword module)

    文章目录 keyword模块概述 keyword模块导入 keyword模块详解 打印支持的操作 kwlist列表 iskeyword方法 keyword模块概述 keyword模块定义了当前版本的P ...

  4. html语言书写注意事项,CSS命名规范参考及书写注意事项

    CSS书写顺序 *{ /*显示属性*/ display position float clear cursor - /*盒模型*/ margin padding width height /*排版*/ ...

  5. python语言入门r_小结:jieba分词的Python与R语言基础用法介绍

    当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 人们说话不是一个词一个词崩出来的,文章也就由句子组成.要想让机器识别美文,体会中华名族汉语的博大精深,不是不可能.但是,首先需要将其转化成其 ...

  6. android 初始化语言,3.4.1 Android初始化语言(1)

    3.4 init.rc文件解析过程 init.rc文件按照一定的格式组织,要分析init.rc文件的解析过程,首先要熟悉它的格式.init.rc的文件格式由Android初始化语言(Android I ...

  7. alexa技能个数_如何在您的技能中使用Alexa演示语言

    alexa技能个数 by Garrett Vargas 通过Garrett Vargas 如何在您的技能中使用Alexa演示语言 (How to use Alexa Presentation Lang ...

  8. c语言英语笔试题,C语言面试题(国外英语资料).doc

    C语言面试题(国外英语资料) C语言面试题(国外英语资料) Interview questions What is the difference between the 1. linked list ...

  9. 教你用R语言分析招聘数据,求职/转行不求人~(附代码、数据集)

    来源:R语言中文社区 作者:Joffy Zhong 本文共4500字,建议阅读8分钟. 本文针对招聘网站的数据分析岗位的数据进行分析与挖掘实战. 项目背景 在学习数据分析的路上,少不了经常逛知乎,这也 ...

最新文章

  1. Tree-Structured LSTM模型
  2. 使用Visual Studio宏来自动生成代码 [ Visual Studio | 宏 | 自动生成代码 ]
  3. c语言高中题目及答案,高中信息技术 C语言程序设计练习题 选修1
  4. vs中没有fstream_vs++2010 编译说找不到 fstream.h 解决方法
  5. 如果有机会,买一个能够兼容多终端的大屏幕是很重要的
  6. 外贸EDM邮件营销效率低的原因分析
  7. linux终止yum进程,【Linux】CentOS7中yumbackend.py进程的结束方法
  8. 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第1部分
  9. SQL Server 不同数据库导入指定数据解决方案
  10. Java:双向链表反转实现
  11. 再问数据中台 - 数据中台是什么?
  12. 【HDOJ】2389 Rain on your Parade
  13. 基于c++的音乐播放器(1)
  14. grDevices | R语言中的配色方法汇总(Ⅱ-2)
  15. hdu 2089 数位dp入门
  16. 状态机详解(一段式、二段式、三段式)
  17. 用户sa登录失败的解决办法
  18. 快速刷通PWN的第一天
  19. 读小说赚钱吗?这个年入百万
  20. 信息化发展与应用的新特点

热门文章

  1. 根据输入网络服务名称取得端口号
  2. VBS去除字符串的重复项并统计重复字符出现的次数
  3. 新浪微博放开140字限制:社交向左 原创向右
  4. 什么是Hadoop,怎样学习Hadoop
  5. ArcGIS Server,rest路径输入要素json 格式描述
  6. Centos系统python2.x升级python3.x
  7. 理解 JMeter 聚合报告(Aggregate Report)
  8. Mono 之 Jexus
  9. VS2010 error LNK2019: 无法解析的外部符号
  10. 软件过程评估和软件能力评价之间的差异