C语言各种keyword
1、register
在函数内定义变量时。默认是 auto 类型,变量存储在内存中,当程序用到该变量时,由控制器发出指令将内存中该变量的值送到运算器,计算结束后再从运算器将数据送到内存。假设一个变量用 register keyword修饰。编译器则尽可能将该变量存放在CPU的内部寄存器中,这样就不用通过内存寻址来訪问变量,能够大大提高訪问效率。
2、volatile
volatilekeyword修饰的变量或地址。则每次使用时,变量的值或地址指向的值都要又一次从内存中获取。
假设没实用volatilekeyword修饰,编译器优化时,在同一进程中当上一次对这个地址操作的值在该进程中没有被改动时,他会自己主动把上次读的数据取出来而不会又一次从内存地址中获取内容。
该情况在嵌入式系统、驱动编程中常常使用,通常是对寄存器或硬件I/Oport的操作。
3、inline
inlinekeyword修饰的函数称为内联函数。在程序编译时,编译器会将程序中出现的对该函数的调用表达式用该函数的函数体来进行替换。类似于宏替换,只是相比宏替更easy理解,不易出错。
inlinekeyword多用于定义函数体代码短且调用频繁的函数。以目标代码的添加为代价来节省函数频繁跳转的时间成本。
4、。。。。
。。
C语言各种keyword的更多相关文章
- 2.1-Java语言基础(keyword)
		
2.1 keyword watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXNpcmVuZQ==/font/5a6L5L2T/fontsize/400/fi ...
 - Java keyword具体解释
		
訪问控制修饰符号 1) private 私有的 private keyword是訪问控制修饰符,能够应用于类.方法或字段(在类中声明的变量). 仅仅能在声明 private(内部)类.方 ...
 - C++写一个简单的解析器(分析C语言)
		
该方案实现了一个分析C语言的词法分析+解析. 注意: 1.简单语法,部分秕.它可以在本文法的基础上进行扩展,此过程使用自上而下LL(1)语法. 2.自己主动能达到求First 集和 Follow 集. ...
 - C语言高速入门系列(二)
		
C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...
 - 不积跬步无以至千里(C语言笔记)
		
第一章 初始C程序 1.C程序结构 简单来说,一个C程序就是由头文件和函数组成 头文件 一条编译预处理命令:作用是在对C程序进行正式编译 ...
 - C++11显式虚函数重载
		
[C++11显式虚函数重载] 在子类中给重载的虚函数加上override, 可以让编译器检察基类是否有这一虚函数.此功能适用于当基类原有的虚函数发生变化,即相当于编译期检察. 而基类,可以给函数加上f ...
 - JAVA词汇大全
		
JAVA词汇大全 A B C D E F H I J L M O P R S T U V W A Abstract Window Toolkit(AWT)抽象窗体工具集 一个用本地图形组件实现的 ...
 - java中synchronized的使用方法与具体解释
		
Java语言的keyword.当它用来修饰一个方法或者一个代码块的时候,可以保证在同一时刻最多仅仅有一个线程运行该段代码. 一.当两个并发线程訪问同一个对象object中的这个synchronized ...
 - 【夯实基础】javakeywordsynchronized 详细说明
		
尊重版权:http://www.cnblogs.com/GnagWang/archive/2011/02/27/1966606.html Java语言的keyword.当它用来修饰一个方法或者一个代码 ...
 
随机推荐
- JDBC 学习笔记(三)—— JDBC 常用接口和类,JDBC 编程步骤
			
1. JDBC 常用接口和类 DriverManager 负责管理 JDBC 驱动的服务类,程序中主要的功能是获取连接数据库的 Connection 对象. Connection 代表一个数据库连接对 ...
 - hdu6078[优化递推过程] 2017多校4
			
这道题一眼看过去好像和最长公共子序列有点像. 一开始只想到暴力的推法, 令dp[i][j][k]表示 a[i]=b[j](即以ai,bj为结尾的波浪序列的方案数), 且最终状态为k(0,1分别代表下降 ...
 - gcd-模板+最小公倍数
			
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int G ...
 - kb-01-a<简单搜索--dfs八皇后问题变种>
			
题目描述: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的 ...
 - javaweb-简单的验证码和算术验证码
			
我们登陆网站时,每次都会填写一些验证码,这些验证码的作用:防止被恶意攻击,验证码上面的字母数字一般都是随机生成的,因此我们首先要写一个方法生成一个随机的字符串,这里就需要java里面的随机函数Rand ...
 - 聊聊 Spring Boot 2.0 的 WebFlux
			
聊聊 Spring Boot 2.0 的 WebFlux## 前言 对照下 Spring Web MVC ,Spring Web MVC 是基于 Servlet API 和 Servlet 容器设计的 ...
 - POJ 3233
			
矩阵分治 注意不要用 (*this) 会改变原值 #include <iostream> #include <cstdio> #include <cstring> ...
 - 【Codevs1993】草地排水(最大流,Dinic)
			
题意:在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水 ...
 - 标准C程序设计七---54
			
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
 - hdu 1242(搜索)
			
Rescue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...