同一文件下:
#include <stdio.h>
int main(void){
void func(void);
extern int num;
printf("hello");
return 0;
}
int num =7;
void func(void){
printf("There are %d persons",num);
}
main函数调用同一文件下的func函数时,需要先声明使用的函数,用extern声明使用的变量。当然这些声明也可以在main函数体的上方进行声明。
不同文件下:
#include <stdio.h>
int main(void){
void func(void);
extern int num;
printf("hello");
return 0;
}
#include <stdio.h>
int num =7;
void func(void){
printf("There are %d persons",num);
}
第一种情况,在同一目录下时,声明跟同一文件下类似。
main.c:
#include <stdio.h>
#include "func.h"
int main(void){
printf("hello");
return 0;
}
func.c:
#include "func.h"
int num =7;
void func(void){
printf("There are %d persons",num);
}
func.h:
void func(void);
extern int num;
第二种情况,在同一目录下时,可以创建一个func.h文件,在main.c中用#include "func.h"就相当于写了func.h中的声明部分。
第三种情况,如果这两个.c不在同一目录下,比如dir1/dir2/func.c,dir1/dir3/main.c,这个时候,只需要写上#include "dir1/dir2/func.h"就可以了。使用的是相对路径名。