C语言里的函数定义和函数说明有什么联系和区别
2个回答
展开全部
函数说明:“说明”的意思,即表明当前的程序文件中有这个函数。
函数定义:“定义”的意思,即为该函数下定义——这个函数具体有什么功能(函数体)。
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));
}
以上这个程序同样是可以正确编译运行的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询