常用关键字

目录

static 关键字

const 关键字

inline 关键字

volatile 关键字


static 关键字

static的意思是静态的,用于修饰局部变量,全局变量和函数,修改其数据储存类型或链接属性。

修改其数据的存储类型:普通的局部变量存储在栈区,而加了static修饰的局部变量则存储在数据段(已初始化:.data区,未初始化:.bss区)。当函数返回时值保持不变,下一次进入函数,该变量的值依旧存在。

改变了连接属性:普通的全局变量或函数可本其他.c文件声明使用,但static修饰全局变量或函数时,该变量或函数仅在本.c文件中使用,其他文件不可访问,但在其他文件中可定义同名的变量后函数。

const 关键字

const关键字用来定义常变量即只读变量,存放在.rodata段,常变量必须赋初值,因为const定义的变量是不允许改变的,即不允许给他重新赋值,即使赋值相同也不可以。

const int *p /int const *p                 *p =30   不符合的

                                                       p = 30   是符合的

                                                       const int *p只是将*p的值限制了,而没有将变量p的值给限制。

int* const p                                               p = 30   是不符合

                                                                 *p = 30  是符合的

                                                                  int *const p限制的是p,而对*p没有任何影响。

const int* const p               *p =30   不符合的

                                             p = 30   是不符合

                                             const int*把指针p给限制了, const p 把p这个变量给限制了。

inline 关键字

inline关键字是内联函数,其作用是将函数展开,把函数的代码复制到每一个调用处,而不发生跳转、压栈等一般性函数操作。这样就避免了频繁调用函数对栈内存重复开辟所带来的消耗。但inline关键字仅适用于代码较简单的函数体使用。

inline关键字定义的函数在.h或.c中都行(头文件中是可以定义函数的,但要加上static关键字,避免重复定义的问题),当想要定义的函数被多个.c文件调用时应该定义在.h文件中,但在.h加上static修饰。

inline关键字是在编译的时候执行,是对编译器发送一个请求,因而不同的编译器对inline的处理可能会有所不同。

volatile 关键字

volatile用于声明一个变量,在编译、读取、存储该变量的时候都不要做任何优化或修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值