引用外部.h所定义的变量和函数方法简述

涉及到文件有:

主函数main()所在文件:diaoyong.c;

所调用外部文件:function.c;

所调用外部文件头文件:function.h

外部文件function.c

#include "stdio.h"

int fun(int a, int b)
{
	return a + b;
}

int times(int a, int b)
{
	return a * b;
}

int input = 33;

int output = 12;

外部文件头文件function.h

//#ifndef __FUNCTION_H__
//#define __FUNCTION_H__
int fun(int, int);
int times(int, int);

int input;

//#endif

main函数所在.c文件

#include 
#include "function.h"    //需要引用的函数在头文件.h里的声明已经为extern类型了

//extern int input;     //由于input已经在.h文件里进行了声明,所以此处不需要写extern来声明

extern int output;     //由于.h文件里未进行声明,所以此处需要extern来进行声明 

int main()
{
	int a = 10, b = 20;

	printf("a+b=%d,a*b=%d\n",fun(a,b),times(a,b));
	printf("input=%d\n", input);
	printf("output=%d", output);

return 0;
}

用extern和头文件引用的区别:

extern引用范围更小,可以提升预处理效率,在大型编译过程上差异显著

思考:尝试函数的extern引用

你可能感兴趣的:(算法)