C语言 extern学习1

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

//单文件测试
#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();

}

 

posted @ 2015-08-16 14:53  平常心,平常心  阅读(240)  评论(1编辑  收藏  举报