C中 函数声明 要在main函数之前?

IDE是VC++6

很奇怪 函数放main前面就可以编译了 否则提示未声明的函数""

c语言编译器对于源代码的编译是顺序编译的,当你的任意一个函数中调用某个函数的时候,这个函数的原型必须在调用之前声明,否则就会出现编译错误,例如:
void a(int b)
{
printf("%d\n", b);
}

int main(int argc, char *argv)
{
a(10);
return 0;
}

以上的程序就没有问题,如果两个函数的位置倒一下,就会报错,解决办法是,将函数“a”的原型在main之前声明,如:
void a(int b);

int main(int argc, char *argv)
{
a(10);
return 0;
}

void a(int b)
{
printf("%d\n", b);
}

你可以这样试试。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-19
如果你在main之前定义,相当于有默认的一个声明。声明的意思就是函数的接口说明(参数,返回值类型),这样main函数编译时才能检查你调用的函数的接口是否和声明一致。
你可以声明多次,只要他们是一致的。
真正的函数定义只有在连接时才需要,编译时只需要声明就够了。
当然你要运行它的话,必须是编译之后并连接生成可执行文件。
第2个回答  2009-02-19
如果函数要在mian函数后面就要声明的,在mian前面就不用声明啦!这是规定的。
第3个回答  2009-02-19
函数之间存在调用和被调用关系.如果是定义在主调函数之前的,调用时可免申明.否则要在调用前申明.就这样,朋友.

C语言函数声明时自定义函数与主函数顺序先后的问题?
声明一般要放在MAIN函数之前,也可以放在main函数主题的最开始。建议放在main函数之前。便于编译

函数声明可以放在main函数前面吗
可以放在main()函数后面,需要在mian()函数前面做个函数申明。在一个源文件中定义函数且在另一个文件中调用函数时,函数声明是必需的。在这种情况下,应该在调用函数的文件顶部声明函数。如:include <stdio.h> \/* 函数声明 *\/ int max(int num1, int num2);int main (){...函数声明会告诉编...

c语言写函数是写在主程序前面好还是先声明然后写在主程序后面好呢 各有...
main函数放在最前面,结构条例比较清晰,读起来方便,先main,然后main调用的其他函数。这样的话就需要在main前声明被调函数。代价就是如果被调函数发生变化,譬如函数名称、参数、返回值类型等发生变化,那么声明的地方也要同步改变。如果是被调函数在main函数之前,就没这个问题,但读起来就要先找到main函数...

声明写在main定义写在 main函数后面可以调用吗?
如果函数定义放在main函数之后,那么必须在main函数之前或者main函数里面(首次调用此函数的语句之前)声明这个函数,否则会报错。如果函数定义放在main函数之前,那么就不需要再次声明这个函数,直接在main函数里面调用即可。如果想让一个函数只能被main函数调用,而不能被其他文件或者其他函数调用,可以把这个函数...

c语言---432
1. 如楼上,函数声明最好在宏定义后面,在main函数之前,函数的定义可以在任意位置,自己看着方便即可 2.函数的命名,最好是英文,看着比较牛。。嘻嘻,这个编程久了,英语不好的也能写点了 3.sum1和b1这种需要在程序中赋值的,应该习惯的初始化个0,养成好习惯是比较好的。然后,正题啊。你这段...

在C中函数原型必须要定义在main ()前面吗?我定义在main()的下一行提 ...
发现里面有函数调用的关系的,那么这个时候就会去查找函数的。而你把函数写在了MAIN函数的后面。也就是说没有声明,那程序怎么知道你这个有你这个东西呢。。。没有这个东西肯定就是会出错了。所以呢。你在MAIN函数后面定义是可以的。但是你要想在MAIN函数里面使用某个东西的话,必须在之前进行申明的。

C语言中调用函数为什么写在主函数的前面?
无论main函数在哪个位置都肯定从它开始,如果你定义的函数在main函数之后而且在main函数前没有进行该调用函数的声明那么当在main函数中调用的该函数系统将不认识他,会有错误提示的,如果你定义的函数在main函数之前,那么就没事了,说的有点乱,总之记住C程序中总是从main函数开始执行就明白了 ...

C语言中调用函数为什么写在主函数的前面?
因为在C程序的执行总是从main函数开始的,无论main函数在哪个位置都肯定从它开始,如果你定义的函数在main函数之后而且在main函数前没有进行该调用函数的声明那么当在main函数中调用的该函数系统将不认识他,会有错误提示的,如果你定义的函数在main函数之前,那么就没事了,说的有点乱,总之记住C程序中总是从main函数开...

c语言中,函数的声明必须写到输入输出语句之前吗?为什么?
必须写到之前,函数定义变量,然后系统会开辟空间存储这些变量,才会有输出,C语言是由上到下执行的

[C语言]函数的定义中什么时候要在main之前声明函数?
楼主记住这么一个原则就行了。函数要先声明后使用。即函数调用之前一定要知道该函数的类型。如果fun1在main函数之前已经实现,那么main函数调用fun1的时候就已经知道fun1函数的类型了,就不需要声明了。如果fun1在main函数之后实现,那么调用之前一定要先声明。

相似回答