C语言 extern学习1

it2022-05-09  205

没有头文件时,通过本文件内的函数声明来确定定义域,实现功能:

//单文件测试 #include <stdio.h> /* 经测试,C语言环境下子函数默认是void型;所以可省略不写 为严谨起见,加上void */ void printStr(); //函数定义域:从声明点延伸到源程序文本结束 void main() { printStr(); } void printStr() { printf("Hello world!\n"); }

多文件测试:

第一种方案:

main.c 子函数定义

head.h 子函数的声明,该种方法类似单文件测试,目的是将定义域提到最前面 优点是:不必添加子函数中用到的库函数相应的库文件

代码:

head.h

void printStr(); //函数定义域:从声明点延伸到源程序文本结束

main.c

//多文件测试 #include "head.h" #include <stdio.h> /* 经测试,C语言环境下子函数默认是void型;所以可省略不写 为严谨起见,加上void */ void main() { printStr(); } void printStr() { printf("Hello world!\n"); }

 

第二种方案:

head.h  子函数定义

main.c  直接引用头文件,无须声明,缺点是:子函数中用到的库函数必须添加相应的库文件

代码:

head.h

#include <stdio.h> void printStr() { printf("Hello world!\n"); }

main.c

//多文件测试 #include "head.h" #include <stdio.h> /* 经测试,C语言环境下子函数默认是void型;所以可省略不写 为严谨起见,加上void */ void main() { printStr(); }

 

转载于:https://www.cnblogs.com/shuqingstudy/p/4734337.html

相关资源:详解C语言正确使用extern关键字

最新回复(0)