C语言中函数什么时候声明?什么时候定义?最好举例说明。

如题所述

函数可以在调用函数的函数(比如main函数)之前定义,这样就无需声明了;

举例:

int add(int x,int y) { return x+y; } //在编译程序编译到main的调用add之处时,由于已经编译过add的函数了,因此编译程序已经知晓调用规则,因此可以省略声明语句
void main() { int x=5,y=6,c; c=add(x,y); printf("%d\n",c); }

如果函数在调用函数的函数之后定义,为了通知编译程序要调用函数的格式,需要在调用函数的函数前添加函数的声明。

举例:

int add(int x,int y); //函数声明也可以简单地写成int add(int,int);通知编译程序main中调用add的规则即可
void main() { int x=5,y=6,c; c=add(x,y); printf("%d\n",c); }
int add(int x,int y) { return x+y; }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-20

声明在定义的前面。

如果你需要调用一个函数,但是这个函数的定义段在调用位置的后面。即调用的时候,该函数还未定义好,会报错。我们可以先声明有这个函数,这样就不会报错,编译器就能在后面的代码段找到该函数定义代码。

比如:

void add1();//声明add1函数
int main()
{
    add1();//调用add1函数在add1函数定义之前
    return 0;
}
void add1()
{
   //add1函数的内容
}

第2个回答  推荐于2019-08-05
如果函数在主函数之后,则需要在主函数之前进行声明,如:
void aaa();
main(){
...

}
void aaa()
{....}
如果程序写在主函数之前,则不需要声明:

void aaa()
{....}
main(){
...

}本回答被网友采纳
相似回答