变量的 4 种存储类型

    科技2022-07-21  136

    存储类型: 总共有四种存储类型的变量,分别为自动变量(auto)、静态变量(static)、外部变量(extern)以及寄存器变量(register)。

    auto - 函数中所有的非静态局部变量。(c语言可以指定类型如auto int a,c++编译器不能指定类型编译器会进行推导)

    register - 一般经常被使用的的变量(如某一变量需要计算几千次)可以设 置成寄存器变量,register 变量会被存储在寄存器中,计算速度远快于存在内存 中的非 register变量.(现在已经不需要定义了,编译器会进行优化,注意寄存器没有地址,因此不能对register定义的变量取地址,否则该变量会降级为auto类型)

    static - 在变量前加上 static 关键字的变量。

    extern - 把全局变量在其他源文件中声明成 extern 变量,可以扩展该全局变 量的作用域至声明的那个文件,其本质作用就是对全局变量作用域的扩展。

    变量的作用域和生存周期

    局部静态变量在定义的函数里面可以直接使用,且只执行一次在创建局部变量时的赋值,如果没有赋值,就默认为0 存储期为静态的可以都可以通过指针,间接访问 extern int age = 0; 意思是定义了变量age,声明为extern

    Processed: 0.009, SQL: 8