函数声明与函数定义的区别

[复制链接]
查看11 | 回复5 | 2019-10-26 13:07:19 | 显示全部楼层 |阅读模式
声明与定义的区别:函数的声明与函数的定义形式上十分相似,但是二者有着本质上的不同。声明是不开辟内存的,仅仅告诉编译器,要声明的部分存在,要预留一点空间。定义则需要开辟内存。函数的定义函数的定义是一个完整的函数单元,包含函数类型、函数名、形参及形参类型、函数体等。在程序中,函数的定义只能有一次。函数首部与花括号间不加分号。函数的声明函数声明只是对编译系统的一个说明:函数声明是对定义的函数的返回值的类型说明,以通知系统在本函数中所调用的函数是什么类型。不包含函数体(或形参),调用几次该函数就应在各个主调函数中做相应声明。函数声明是一个说明语句,必须以分号结束。拓展资料:C语言编译系统是由上往下编译的.一般被调函数放在主调函数后面的话,前面就该有
回复

使用道具 举报

千问 | 2019-10-26 13:07:19 | 显示全部楼层
函数声明表示有这么个函数了,函数定义就是具体实现了。举个例子:函数声明:intfun(int a, int b); 函数定义:intfun(int a,int b)
{intc;
c=a+b;
return c;
} 函数声明就像是函数定义的
回复

使用道具 举报

千问 | 2019-10-26 13:07:19 | 显示全部楼层
对函数而言,函数的声明是函数的原型,函数的定义是对函数功能的定义。对被调函数的声明是在主调函数的声明部分中的,而函数的定义显然是不在声明部分的范围内的,它是个独立的模块。对变量而言,在声明部分出现的的变量的情况有两种:一种是需要建立存储空间的,(如"int a;"),另一种是不需要建立存储空间的(如“extern a;”).前者为定义性声明,或简称为
回复

使用道具 举报

千问 | 2019-10-26 13:07:19 | 显示全部楼层
函数声明:返回类型函数名(参数类型1参数名1,·····,参数类型n参数名n);如:intfun(int a, int b);
voiddisplay();
floatfn1(float x);函数定义:返回类型函数名(参数类型1参数名1,·····,参数类型n参数名n)
回复

使用道具 举报

千问 | 2019-10-26 13:07:19 | 显示全部楼层
函数的声明是相当于定义了一个函数的名字,即在程序中该名字就代表了一种操作,但声明中并不会说明该函数是怎么产生作用的;而函数的定义就是具体说明了函数的具体作用,即实现过程。例如 void output(int x);//是一个函数的声明,它一般位于主函数的前面;void main(){int x;cin>>x;output(
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行