我爱橙 发表于 2022-5-14 22:10:00

NO70.存储类型

Q:以下只有在使用时才为该类型变量分配内存的存储类型的是()
auto和static
auto和register
register和static
extern和register



A:
extern、register、static、auto分别是定义外部变量、寄存器变量、静态变量、自动变量
其中,自动变量(auto)和寄存器变量(register)属于动态存储,调用时临时分配单元;而静态变量(static)和外部变量(extern)属于静态存储,在整个程时都存在.

函数中的形参、局部变量,包括复合语句的中定义的局部变量都具有自动变量。自动变量拥有代码块作用域,自动存储期和空连接属性。

寄存器是存在于 CPU 的内部的,寄存器变量和自动变量在很多方面的是一样的

作用于文件作用域的 static 和 extern,我们上一节已经讲过了,static 关键字使得默认具有 external 链接属性的标识符变成 internal 链接属性,而 extern 关键字是用于告诉编译器这个变量或函数在别的地方已经定义过了,先去别的地方找找,不要急着报错。

页: [1]
查看完整版本: NO70.存储类型