C语言 extern学习1
2015-08-16 14:53
246 查看
没有头文件时,通过本文件内的函数声明来确定定义域,实现功能:
多文件测试:
第一种方案:
main.c 子函数定义
head.h 子函数的声明,该种方法类似单文件测试,目的是将定义域提到最前面 优点是:不必添加子函数中用到的库函数相应的库文件
代码:
head.h
main.c
第二种方案:
head.h 子函数定义
main.c 直接引用头文件,无须声明,缺点是:子函数中用到的库函数必须添加相应的库文件
代码:
head.h
main.c
//单文件测试 #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(); }
相关文章推荐
- C++: 移动构造函数
- 黑马程序员——C语言笔记之if,if....else....,switch判断
- 2015年面试准备(1)-----c/c++的区别
- C++中的结构体和类的异同
- 本科毕设-基于C8051单片机的身份识别系统设计
- java与C语言的数据类型对应
- C语言中运算符优先级
- 自定义多列排序:C++/Java实现
- C语言中个各个进制的表示方法
- C++引用
- C++ Primer 学习笔记与思考_6 数组和动态数组易错点解读
- C++基础---数组
- C语言中文本文件与二进制文件的区别
- C++学习笔记——输入与输出
- Java中的引用和C++中引用的区别
- C++基础---引用
- 【C语言经典实例】-结构体-找出最高分
- C++内存管理篇整理
- C# 调用C/C++ Dll(参数含char*指针,返回char*指针)
- C++基础---指针与const