欢迎各界计算机爱好者加入,弘扬极客精神!

auto、register、static三个关键字在程序中的用途【存储类型】

1 喜欢 0 不喜欢
最新提问 9月 19, 2016 分类:C/C++ | 用户: 219604 (1,416 分)  

4 个回答

1 喜欢 0 不喜欢
 
已采纳
① auto 自动型或堆栈型,采用堆栈方式存储空间,声明的变量只能在某个程序范围内使用,当程序运行超出该变量的作用域时,释放空间。 ② register 寄存器型,将所声明的变量放入CPU的寄存器存储空间中,加快程序运行速度,只能用于声明int和char。
③ extern 外部参照引用型,声明的变量是想引用在其他文件中函数体外部声明的变量(不太常用)。 ④ static 静态存储类型,可在函数体内外声明,在内声明时与auto的区别,static存储类型的变量在内存中以固定地址存放。另外,静态数据成员在声明时必须在前面加关键字static。
最新回答 9月 19, 2016 用户: Edward (4,056 分)  
采纳于 9月 19, 2016 用户:219604
0 喜欢 0 不喜欢

(1)auto 
  这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。

(2)register 
  这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。

(3)static 
  常见的两种用途: 
    1>统计函数被调用的次数; 
    2>减少局部数组建立和赋值的开销.变量的建立和赋值是需要一定的处理器开销的,特别是数组等含有较多元素的存储类型。在一些含有较多的变量并且被经常调用的函数中,可以将一些数组声明为static类型,以减少建立或者初始化这些变量的开销

最新回答 9月 19, 2016 用户: 王孙萋萋 (462 分)  
1 喜欢 0 不喜欢

普通内存static

运行时堆栈auto

硬件寄存器register

最新回答 9月 19, 2016 用户: Administrator (3,390 分)  
1 喜欢 0 不喜欢
这个链接里的内容  希望对你有帮助   http://wenku.*****.com/view/25ecec66f5335a8102d220c1.html
最新回答 9月 19, 2016 用户: Edward (4,056 分)  
...