C语言里的函数定义和函数说明有什么联系和区别

 我来答
超可爱ING
2017-03-29 · TA获得超过1245个赞
知道小有建树答主
回答量:465
采纳率:0%
帮助的人:181万
展开全部
  1. 函数说明:“说明”的意思,即表明当前的程序文件中有这个函数。

函数定义:“定义”的意思,即为该函数下定义——这个函数具体有什么功能(函数体)。

2. 具体请先看代码:

#include<stdio.h>

int sum(int a, int b);        // 函数声明

void main()
{
   int num1, num2;
   scanf("%d%d", &num1, &num2);
   printf("两个数的和为%d", sum(num1, num2));    
}

int sum(int a, int b)        // 函数定义
{
   return a + b;
}

解释一下:

由于C语言的编译,是对c/cpp文件的内容从上至下编译。一般子函数(用户定义的函数)放在主函数(main函数)后面的话,main函数前面就该有声明,不然编译系统将无法识别到子函数。

例如上面这个例子,如果将前面的函数声明注释掉,这个程序运行到main函数中的sum(num1, num2)时就会报错,因为没有在main函数前编译到sum(a, b)这个函数,所以运行中就会识别不了sum这个函数。(如下图所示)


3. 当然,通常情况下,我们也可以直接将整个子函数的函数体(函数定义)放在main前面,这样就可以省略掉函数声明的部分。

#include<stdio.h>

int sum(int a, int b)        // 函数定义
{
   return a + b;
}

void main()
{
   int num1, num2;
   scanf("%d%d", &num1, &num2);
   printf("两个数的和为%d", sum(num1, num2));    
}

以上这个程序同样是可以正确编译运行的。

廉玉荣妙珍
2019-12-25 · TA获得超过3827个赞
知道大有可为答主
回答量:3164
采纳率:30%
帮助的人:209万
展开全部
函数原型放在函数定义之前,先声明相应函数的特性。区别很简单,函数原型结束有分号,而函数的定义结束没分号。
例如:int
sum(int
a,int
b);函数原型
int
sum(int
a,int
b)函数定义
{int
c;c=a+b;return
c;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式