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.
More Related Contents:
- C | Static array: why does writing out-of-bounds not result in exception? [duplicate]
- What does “static” mean in C?
- What is the purpose of static keyword in array parameter of function like “char s[static 10]”?
- What is a “static” function in C?
- How to deal with symbol collisions between statically linked libraries?
- Why are global variables always initialized to ‘0’, but not local variables? [duplicate]
- Static variable inside of a function in C
- Where are constant variables stored in C?
- Variably modified array at file scope
- The initialization of static variables in C
- Is returning a pointer to a static local variable safe?
- Can I mix static and shared-object libraries when linking?
- What’s the difference between static inline, extern inline and a normal inline function?
- C++: When (and how) are C++ Global Static Constructors Called?
- Creating static Mac OS X C build
- When to use static keyword before global variables?
- Global variables in C are static or not?
- Access a global static variable from another file in C
- variably modified array at file scope in C
- Why can’t the size of a static array be made variable?
- How are static variables with the same name in different functions identified by the System?
- static function in C
- What is the difference between static const and const?
- What does static mean in ANSI-C [duplicate]
- When to put static function definitions in header files in C?
- Static global variables in C++
- Is it possible to declare multiple static variables with same name in a single C file?
- Why won’t extern link to a static variable?
- Are the results of bitwise operations on signed integers defined?
- What’s sizeof(size_t) on 32-bit vs the various 64-bit data models?