以下是与代码相关的问题,特别是在header.c中,我无法访问头文件header.h中的extern int x变量…为什么?.h文件中的extern变量不是全局的吗?我该如何在其他文件中使用它?
===header.h===
#ifndef HDR_H
#define HDR_H
extern int x;
void function();
#endif
===header.c===
#include <stdio.h>
#include "header.h"
void function()
{
printf("%d", x); //****undefined reference to x, why?****
}
===sample.c===
int main()
{
int x = 1;
function();
printf("\n%d", x);
return 0;
}
int
之前的x
。这将防止在主函数中创建一个与全局变量同名的新局部变量。 - bph