C:static、const、register、extern、volatile、inline、sizeof、typeof等关键字的作用?

本文详细解读了C语言中的静态变量、const常量、register寄存器变量和extern外部变量的作用及特性。了解它们在内存分配、作用域和修改性上的区别,是嵌入式软件和Linux驱动开发的基础知识点。
摘要由CSDN通过智能技术生成

Static:(该变量保存在全局静态区) a.修饰局部变量——>会提升局部变量的生存周期
b.修饰全局变量——>作用域被限制——>被限制到当前的原文件中 c.修饰函数——>作用域被限制——>被限制到当前的原文件中

Const:(该变量保存在常量区)
1.声明常变量,,使得指定的变量不能被修改。
2.修饰函数形参,使得形参在函数内不能被修改,表示输入参数。
3.修饰函数返回值,使得函数的返回值不能被修改。

register:(该变量保存在寄存器中)
用来声明为寄存器变量。也为局部变量,只在声明它的函数内有效。它是保存在寄存器之中的。速度要快很多。

Extern: 用于修饰变量或函数,表明该变量或函数都是在别的文件中定义的,提示编译器在其他文件中寻找定义。

Volatile: 强制编译器每次从内存中取得该变量的值,而不是从被优化后的寄存器/缓存中读取。

inline: inline关键字仅仅是建议编译器做内联展开处理,即是将函数直接嵌入调用程序的主体,省去了调用/返回指令。

sizeof: sizeof是在编译阶段处理,且不能被编译为机器码。sizeof的结果等于对象或类型所占的内存字节数。

typeof: typeof 关键字是用来定义变量数据类型的。
typeof括号中如果是变量则表示获取该变量的类型,typeof括号中也可以是函数表示获取函数返回值的数据类型,如果typeof括号中是表达式则表示获取表达式结果的变量类型。


收录于:
嵌入式软件/BSP开发工程师/Linux驱动工程师/C语言经典笔试面试题大全

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evan_ZGYF丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值