常识 | c的一些关键字

1 篇文章 0 订阅

inline

它的作用是编译的时候将函数展开,把函数的代码复制到每一个调用该函数的地方。这样调用该函数的地方就可以直接执行函数代码,而不发生跳转、压栈(指的就是递归)等一般性函数操作。可以节省时间,也会提高程序的执行速度。

最好是加上static然后放在头文件中。

在嵌入式开发中,内联函数还是比较重要的,将一些功能简洁的函数定义为内联函数,可以减少代码的跳转和栈空间的使用,RAM在嵌入式系统中还是比较宝贵的。

缺点:程序占用的空间会变大,因为会多一个内联函数的拷贝

volatile

易变的,希望编译器去注意该变量的状态,时刻注意该变量是易变的,每次读取该变量的值都重新从内存中读取。

常常和编译器优化相关。比如编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。此时需要用到volatile,告诉编译器读取的时候去内存读。

static

c++ | 补基础 | static与const_tuuzkiii_Tuu的博客-CSDN博客

static_cast

强制转换类型

void* p;
char* ptr = static_cast<char*> p;
// 把void指针转换为char指针

union

和结构体定义类似,比如一个union包含int,char,longlong,但union的长度 = 里面最长元素的长度,因此同一时刻union只能存1种数据

register

声明的变量会尽可能保存在寄存器中。’尽可能‘是因为寄存器数量有限不一定能存进去

typedef

typedef oldname newname

sizeof

没想到吧sizeof也是关键字

extern

引用另一个文件中的全局变量/函数
一般作用是,在a.cpp中定义全局变量,然后在.h文件中extern 这个变量,则其他cpp只要包含这个.h就都可以使用这个全局变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值