c - 静态与全局

标签 c static global

如果我有一个如下所示的 C 文件,ij 之间有什么区别?

#include <stdio.h>
#include <stdlib.h>

static int i;
int j;

int main ()
{
    //Some implementation
}

最佳答案

i 具有内部链接,因此您不能在其他源文件(严格翻译单元)中使用名称 i 来指代同一对象。

j 具有外部链接,因此如果您在另一个翻译单元中将其声明为extern,则可以使用j 来引用该对象。

关于c - 静态与全局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2271902/

相关文章:

c - 如何将一个库静态链接到另一个静态库?

c++ - 在类中不定义静态数组大小是不是很糟糕?--而是让它自动调整大小

static - 无法编辑的QListView

c++ - 变量始终为空

c - 无维度的全局整数数组

java - BST 从 Java 插入到 C

c - 两个函数同时执行

c - 我真的需要 libgcc 吗?

c - 有多个子目录的大项目怎么写 "CMakeLists.txt"?

php - 神秘的 JavaScript 变量变化