慕妹0983297
2017-07-19 17:49
我用的code blocks,建立工程有一个main.c然后我又添加一个.c文件命名为test.c,把慕课网上的hello.c的内容复制到main.c,把test.c复制到test.c编译提示2个错误
E:\C语言学习练习\外部函数\test.c|2|multiple definition of `say'|
obj\Debug\main.o:E:\C语言学习练习\外部函数\test.c|2|first defined here|
这样用的话,你应该建立test.h的头文件,而不是 .c 结尾的C语言文件,自定义头文件的格式入下:
/*test.h*/ #ifndef _TSET_H_ //第3、4和最后一行(24),是固定格式, _TSET_H_ 是 test.h 头文件固定形式 #define _TEST_H_ #include <stdio.h> extern void say(); //头问价里的全局函数定义格式 void printLine(); //头文件内部函数定义,(注:该函数前面可以用extern,不影响运行结果) void printLine() //函数内容 { printf("**************\n"); } void say(){ printLine(); printf("I love imooc\n"); printf("good good study!\n"); printf("day day up!\n"); printLine(); } #endif
/*main.c*/ #include <stdio.h> #include "test.h" //引用 test.h 头文件 int main() { say(); //调用头文件里的全局函数 return 0; }
下面是编译运行的结果
不知道是否达到你心中的效果;
如果还有疑问,可以联系我哦~
C语言入门
926210 学习 · 20797 问题
相似问题
回答 3
回答 1