1.函数的声明有什么用?
答:所谓声明(Declaration),就是告诉编译器我要使用这个函数,有时候,你可能会发现及时不写函数的声明,程序也是可以正常执行的。但如果你把函数的定义写在调用之后,那么编译器可能就会找不着北了。函数必须“先定义,再调用”。
2. 函数是否必须声明才能使用?
答:对于函数来说,必须“先定义,再调用”。但声明却不是必须的,只要“被调用函数”的定义在“调用函数”之前即可。但是,作为一个良好的编程习惯,建议大家还是无论如何都把函数的声明写上比较合适。
3. 如果定义一个与标准库函数重名的函数,会这样?
答:重新定义的同名函数会覆盖标准库函数(前提是两者的声明一致,包括返回值和参数类型、个数一致)。
比如下面我们把 putchar 函数给覆盖掉:
#include <stdio.h> int putchar(int c); int putchar(int c) { printf("FishC "); return c; } int main(void) { putchar('H'); return 0; }