在C中staticextern的区别是什么?

推荐答案

http://wiki.answers.com/Q/What_is_the_difference_between_static_and_extern开始:

static存储类用于声明标识符,该标识符是函数或文件的局部变量,并且在控制从声明的位置传递后存在并保留其值.此存储类的持续时间是永久性的.从函数的一次调用到下一次调用,该类声明的变量将保留其值.作用域是本地的.变量仅由它在其中声明的函数知道,或者如果在文件中全局声明,则它只由该文件中的函数知道或可见.此存储类保证变量的声明还会将变量初始化为零或全部关闭.

extern存储类用于声明一个全局变量,该变量将为文件中的函数所知,并且能够为程序中的所有函数所知.此存储类的持续时间是永久的.此类的任何变量都保留其值,直到被另一个赋值更改为止.其范围是全球性的.程序中的所有函数都可以知道或看到一个变量.

C++相关问答推荐

SDL 2.0-从数组渲染纹理

C lang:当我try 将3个或更多元素写入数组时,出现总线错误

C++中矢量类型定义和数据保护的高效解决方案

如何使用C++在控制台中以彩色打印被阻止的客户端

如何在POSIX-UEFI中获得输入?

在编写代码时,Clion比vscode有更多的问题指示器

C语言中的外部关键字

C-try 将整数和 struct 数组存储到二进制文件中

int * 指向int的哪个字节?

为什么我无法访问C语言中的文件

Linux/C:带有子进程的进程在添加waitid后都挂起

按字典顺序打印具有给定字符的所有可能字符串

模仿 memmove 的行为

使用替代日历打印日期

C Makefile - 如何避免重复提及文件名

malloc:损坏的顶部大小无法找出问题

如何在 C 中的 Postgres 函数的表中 for 循环

Zig 中 C 的system函数的惯用替代方案

strlen 可以是[[未排序]]吗?

c中数组上显示的随机元素