如何引用一个已经定义过的全局变量,两种方式:
1. 用extern关键字方式
2. 用引用头文件的方式
可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。如下例
fu1.h:
#include<stdio.h>
void setone();
#include<stdio.h>
void setone();
fu1.c:
#include"fu1.h"
int i;
void setone()
{
printf("%d/n", i);
}
#include"fu1.h"
int i;
void setone()
{
printf("%d/n", i);
}
fu2.h
#include<stdio.h>
void settwo();
#include<stdio.h>
void settwo();
fu2.c
#include"fu2.h"
int i;
void settwo()
{
printf("%d/n", i);
}
#include"fu2.h"
int i;
void settwo()
{
printf("%d/n", i);
}
test.c
#include"fu1.h"
#include"fu2.h"
int i=36; 多个文件中唯一的一个初始化赋值,因此不会出现连接问题
int main(void)
{
printf("%d/n", i);
i =3;
setone();
i = 6;
settwo();
}
#include"fu1.h"
#include"fu2.h"
int i=36; 多个文件中唯一的一个初始化赋值,因此不会出现连接问题
int main(void)
{
printf("%d/n", i);
i =3;
setone();
i = 6;
settwo();
}
运行结果:
36
3
6