存储类

1、介绍

  变量/函数的的存储位置、生命周期和作用域。主要有aotu、register、static、exterm

1.1、aotu

  一般默认使用auto,函数开始时被创建,结束是被销毁,作为局部变量默认存储类

1.1、register

  存储于寄存器中,不能用于&运算,速度快,不能直接取地址

1.1、static

  static 存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。因此,使用 static 修饰局部变量可以在函数调用之间保持局部变量的值。

  static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内。全局声明的一个 static 变量或方法可以被任何函数或方法调用,只要这些方法出现在跟

static 变量或方法同一个文件中。静态变量在程序中只被初始化一次,即使函数被调用多次,该变量的值也不会重置。

1.1、exterm

  extern 存储类用于定义在其他文件中声明的全局变量或函数。当使用 extern 关键字时,不会为变量分配任何存储空间,而只是指示编译器该变量在其他文件中定义。extern 存储类用于提供一个全局

变量的引用,全局变量对所有的程序文件都是可见的。当您使用 extern 时,对于无法初始化的变量,会把变量名指向一个之前定义过的存储位置。当您有多个文件且定义了一个可以在其他文件中使用的

全局变量或函数时,可以在其他文件中使用 extern 来得到已定义的变量或函数的引用。可以这么理解,extern 是用来在另一个文件中声明一个全局变量或函数。

posted @ 2023-03-01 17:41  Carllll  阅读(19)  评论(0编辑  收藏  举报