Monday, May 6, 2019

c - Static vs global



If I have a C file like below, what is the difference between i and j?




#include 
#include

static int i;
int j;

int main ()
{
//Some implementation

}

Answer



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.


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...