If I have a C file like below, what is the difference between i and j?
i
j
#include <stdio.h> #include <stdlib.h> static int i; int j; int main () { //Some implementation }
i has internal linkage so you can't use the name i in other source files (strictly translation units) to refer to the same object.
j has external linkage so you can use j to refer to this object if you declare it extern in another translation unit.
extern
1.4m articles
1.4m replys
5 comments
57.0k users