首页  

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关键字

指针数组 数组指针 函数指针 指针函数

康威定律