1-1--首先是写大程序不推荐但又要了解的全局变量
如果我们在一个.c文件中定义了一个全局变量k,又想在其他文件中使用它,那么这个时候就要用到extern。特别注意在max.h中那个只是叫做声明,在.c文件中才叫定义int k=12;才叫定义。
--main.c--
#include <stdio.h>
#include "max.h"
int main() {
max();
k+=2;
max();
}
--max.c--
#include "max.h"
int k=12;
int max(void)
{
printf("%d\n",k);
}
--max.h--
int max(void);
extern int k;
12
14
--------------------------------
Process exited after 0.0416 seconds with return value 3
请按任意键继续. . .
1-2--
定义结构和全局变量的方式不一样,首先在.h文件中声明结构,然后.c文件中include这个.h文件就视为在这个.c文件中声明了这个结构,需要使用时再定义就好了。(下面有例子)
--main.c--
#include <stdio.h>
#include "max.h"
#include "min.h"
int main() {
name p;
}
--max.h--
#ifndef _MAX_H_
#define _MAX_H_
typedef struct{
int a;
int b;
}name;
#endif
--min.h--
#include "max.h"
2--在上图中我们用到了这个标准头文件结构,这个结构的作用是为了避免在一个.c文件中引用多个.h文件时,重复声明了我们声明的结构或者变量。
3--还有函数在.h文件中默认是extern的,即整个项目都能直接调用。