本人自学编程还没多久,遇到问题比较初级,希望各位路过的大神多多指点,不喜勿喷哈。代码如下:/*在一个文件中使用两个函数*/#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 印象中里面没有类似这样的东西
1 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
C 语言对函数要求 先声明后定义再调用
void butler (void); /* ISO/ANSI C函数原型*/
这个是声明,告知编译器我需要使用该函数
void butler (void) /* 函数定义的开始 */{ printf("You rang, sir?\n"); }
这个是定义
但是如果调用发生在定义之后,那么可以省略声明这一步。
/*在一个文件中使用两个函数*/#include <stdio.h>void butler (void) /* 函数定义的开始 */{ printf("You rang, sir?\n"); }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; }
但是在多文件中函数互相调用、库函数之类的情况下,函数如果没有声明,编译器会报错。
- 1 回答
- 0 关注
- 584 浏览
添加回答
举报
0/150
提交
取消