C语言之关键字

本文详细介绍了C语言中的关键字,包括register、auto、extern、static、const和volatile的作用和使用场景。register用于提升局部变量访问效率,auto为默认的局部变量类型,extern用于声明外部变量,static则用于限制变量的作用域或延长生命周期。const修饰常量,volatile用于标记可能被外部因素改变的变量。最后讨论了typedef的作用和sizeof的使用注意事项。
摘要由CSDN通过智能技术生成

关键字修饰变量
局部变量未赋初值初始化为垃圾值
全局变量和静态变量未赋初值初始化为0

  1. 闪电飞刀:register
    register是局部变量,不能取地址,因为register变量存储在寄存器中,不是在内存,一般循环变量(大量频繁操作)定义成register变量(数量尽量较少)来提高效率,另外变量长度应该小于等于寄存器长度

  2. 隐形刺客:auto
    局部变量默认为auto变量,存储在栈空间

  3. 外来的和尚会念经:extern
    想在其他 .c 文件调用本文件 .c 中定义的变量,用extern声明, 声明外部变量,告诉编译器变量在其他文件定义,也可以声明函数(因为函数相当于全局变量)
    extern int num √
    extern int num = 100 ×
    注意:声明不分配内存,定义分配内存

  4. 政权旗帜:static

(1)修饰全局变量,改变全局变量的作用域,使变量只能在本文件中调用,不能再其他文件中调用

(2)修饰函数(相当于修饰全局变量)

(3)修饰局部变量改变局部变量的生命周期:不加static变量存放在栈空间内,函数运行完被释放;加static变量存放在数据段(静态存储区),直到程序运行结束才释放
在这里插入图片描述
运行结果:1 1 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值