intel:A.c 和B.c两个c文件中使用了两

19 查阅
intel:A.c 和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?这两个static变量会保存到哪里(栈还是堆或者其他的)?

参考答案:

正确答案:

\r\n

static的全局变量,表明这个变量仅在本模块中有意义,不会影响其他模块。
他们都放在数据区,但是编译器对他们的命名是不同的。
如果要使变量在其他模块也有意义的话,需要使用extern关键字。

\r\n

struct s1
{
int i: 8;
int j: 4;
int a: 3;
double b;
};

\r\n

struct s2

变量