存储类
在函数定义的存储类说明符给定函数 extern 或 静态 存储类。
语法
功能定义:
声明说明符opt属性顺序opt声明列表的说明opt复合语句属性序列 的/* 是特定于 Microsoft 的 *
声明说明符:
存储类说明符声明说明符 opt类型说明符声明说明符 opt
类型限定符声明说明符 opt
存储类说明符:函数定义的/* */
externstatic
如果函数定义不包括一种 存储类说明符,存储类默认为 extern。 可以显式声明函数作为 extern,但是,这不是必需的。
如果函数的声明包含这种 *存储类说明符 *extern,标识符会在连接和标识符的所有可见标题相同的文件的大小。 如果与文件范围内可见标题,标识符有外部链接。 如果标识符没有文件的大小和 存储类说明符,标识符有外部链接。 外部链接表示该标识符的每个实例表示相同对象或函数。 请参见 生存期、大小、可见性和连接 有关连接和文件范围的更多信息。
块范围与一个存储类说明符的函数声明除了 extern 外发生错误。
与 静态 存储类的一个功能仅显示在定义它的源文件。 其他功能,是否显式或隐式它们 extern 存储类,可见程序中的所有源文件中。 如果 静态 存储类需要,必须将其声明为中的第一个匹配项 (如果有) 函数和在函数的定义。
Microsoft 专用
在 Microsoft 扩展启用时,最初声明,而无需存储类 (或与 extern 存储类) 生成功能 静态 存储类,如果函数定义在同一源文件,并且,如果定义显式指定 静态 存储类。
在生成与 /Ze 编译器选项时,在块内声明的函数使用 extern 关键字与全局可见性。 ,当使用 /Za 进行编译时,不会为 true。 ,如果将源代码的可迁移性非常注意事项,不应依赖于此功能。
特定于 Microsoft 的结尾