c语言存储类型 auto extern static register
所属分类 c
浏览量 741
存储类型 对应变量的作用域与生命周期
auto extern static register
extern外部声明
外部声明可以多次,定义只能一次
局部变量不能用extern修饰
用extern声明外部变量时,类型名可不写
extern int count; 可以写成 extern count;
因为它不是定义变量,可以不指定类型,写出外部变量名即可
全局变量默认为extern
static 三大作用
隐藏 ,未加static 的全局变量和函数 全局可见
static 局部变量 记忆功能和全局生存期
初始化为零值
静态数据区 默认值都是0x00
C++ 类静态成员 static
静态数据成员是静态存储,必须初始化
子类定义一个与父类相同的静态变量,以屏蔽父类的影响
auto 定义局部变量,即只能在定义的范围内使用(一般就是在花括号里)
auto变量在离开作用域时自动释放
auto不能作为函数的参数
auto不能直接用来声明数组
函数中定义变量 int a; 和 auto int a; 是等价的,关键字 auto 默认省略
register 将变量存储在CPU内部寄存器中
register只是请求寄存器变量,不一定能够成功
register变量必须是能被CPU所接受的类型
register变量必须是一个单个的值,并且长度应该小于或者等于整型的长度 ,
register变量可能不存放在内存中,所以不能用 & 来获取register变量的地址
register 只能修饰局部变量
局部静态变量不能定义为寄存器变量
上一篇
下一篇
c语言const
java性能分析 JFR 和 JMC
C语言二维数组
C C++ static关键字
指针数组 数组指针 函数指针 指针函数
康威定律