本人自学编程还没多久,遇到问题比较初级,希望各位路过的大神多多指点,不喜勿喷哈。
代码如下:
/*在一个文件中使用两个函数*/
#include <stdio.h>
void butler (void); /* ISO/ANSI C函数原型*/
int main (void)
{
printf("I will summon the butler function.\n");
butler();
printf("Yes. Bring me some tea and writeable CD-ROMS.\n");
return 0;
}
void butler (void) /* 函数定义的开始 */
{
printf("You rang, sir?\n")
}
我的问题是:
void butler (void); /* ISO/ANSI C函数原型*/
究竟这一行代码起到什么作用? 以前学过一点JAVA和python 印象中里面没有类似这样的东西
C 语言对函数要求 先声明后定义再调用
void butler (void); /* ISO/ANSI C函数原型*/
这个是声明,告知编译器我需要使用该函数这个是定义
但是如果调用发生在定义之后,那么可以省略声明这一步。
但是在多文件中函数互相调用、库函数之类的情况下,函数如果没有声明,编译器会报错。