在C语言中,函数定义跟函数声明有什么区别有什么不同之出?

如题所述

int  fun(int a, int b);

函数定义:

int  fun(int a,int b)

{  int  c;

c=a+b;

return c;    }

声明就象是定义的头部,比较简略,函数是用来调用的,如果函数定义部写到调用的位置后面,执行到调用位置,

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
声明嘛表示有这么个函数了,定义就是具体实现了,举个例子:
函数声明:
int fun(int a, int b);

函数定义:
int fun(int a,int b)
{ int c;
c=a+b;
return c; }

声明就象是定义的头部,比较简略,函数是用来调用的,如果函数定义部写到调用的位置后面,执行到调用位置,后面根本没执行就找不到了,当然报错了,就要在前面加声明,表示有这个函数,反之先写函数体,后调用声明就用不了,不在同一源文件,道理也是如此,写的够简单明白的了吧,累死我了本回答被提问者采纳
第2个回答  2013-03-28
函数声明只是向调用函数(例如main)函数说:有这个函数在,需要调用它
所以只需要给出函数原型即可,譬如:int func(int a);

函数定义则是要将这个函数具体的函数体实现出来,就需要写出一个完整的函数
譬如:
int func(int a){
a = 1;

return a;

}

有时候我们直接将完整函数写到调用函数(例如main)中,就免去了单独的函数声明。
如果希望将函数体写在调用函数之外,就需要在调用函数中专门做函数声明了。
第3个回答  2013-03-27
1.函数定义可以定义在头文件中,注意在其之前添加extern。
2.函数定义,也可以定义在程序首部,只要在函数定义前就可以了。
3.void fun(void);//声明
4.void fun(void)//定义
{
;
}
5.有时也会有人选择,不写函数声明,直接再调用函数前定义函数。
第4个回答  2013-03-28
定义是实现功能的代码,本质是需要编译器编译成二进制代码的。
函数声明对函数的描述,用于告诉编译器本文件中提到的这个函数应该按照声明的形式去调用。
相似回答