C语言的类型限定符的功能

主要的类限定符:
static const volatile register auto extern typedef signed unsigned
signed unsigned 为有无符号类型限定
signed 为有符号
unsigned 为无符号
static:
改变存储位置:改变局部变量由stack到data或bss段
被它修饰过的局部变量也被称为静态局部变量
延长生命周期:延长局部变量的生命周期
限制作用范围:限制全局变量只能本文件中使用
防止全局变量:函数名冲突,也可以防止别人调用
const:
“保护”变量不被显示地修改
但是,如果对初始化过的全局变量、静态局部变量,都会变成常量,一段不能修改
volatile:
如果变量的值没有被显示的修改,再次使用该变量时不会从内存中重新读取,而是继续使用上一次读取结果(取值优化)变量被volatile修饰后,每次使用该变量时,都会从内存重新读取一般硬件编程或多线编程时都会使用
register:
申请把变量的存储介质由内存改为寄存器,但是寄存器有限申请不一定百分百成功
auto :
用于定义自动分配、释放内存的变量(局部变量),不加代表了加
注意:全局变量不能用它修饰,在C11中它能自动识别类型 int num=10;auto num =10;
extern:
声明外部变量,意思是说明次变量在别处定义,请放心使用但是只能临时通过编译,链接时如果找不到依然还是会报错不能赋值
typedef:
time_t seze_t uint_t
类型重定义,在定义变量之前加上typedef 变量名就变成了这种类型
typedef int num;把num定义成int

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值