作业帮 > 综合 > 作业

代码一开头先声明下函数,之后再定义函数,为何定义函数的时候也需要写函数的返回类型?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/22 08:40:22
代码一开头先声明下函数,之后再定义函数,为何定义函数的时候也需要写函数的返回类型?
之前不是已经声明过了么,为何定义的时候还需要些函数返回值类型呢?

有时候,定义又可以忽略某些东西.比如linline.这个声明的时候写了,定义时就不用写.
1、不管之前有没有声明,定义的时候函数的返回值类型都必须完整定义.比如你将来生一个小孩,他出生后浑身上下什么零件都必须长齐的.
2、前面声明,是为了使得编译器编译到调用这个函数的代码的时候,明白应该怎么匹配各个参数.就好比你孩子还没有到单位去工作,但必须有一张表格把你孩子的基本情况等等信息告知人家,人家才好提前考虑,将来当你孩子真正报到的时候,直接匹配已经安排好的工作即可.
赢天资讯资源社区.
再问: 那怎样算重复声明么?
再答: 重复声明就是声明两次以上喽。 我还是用C做例子来说吧,比如下面这种情况,就是重复声明了。 而如果函数体写了两次,就叫做重复定义了。 其实有的编译器并不认为函数声明两次是错误的,只要每次声明时的返回值、参数完全一致(C++里函数名相同而参数不同又是另一回事了,那种情况下实际上函数名不能算是相同的,因为C++在编译过程中会对函数名改名,改后的名字里同样保留了参数信息,所以只要参数不同,即使名字相同,也算是不同的函数。这个扯远了) 赢天资讯资源社区,源码共享、技术讨论、资料下载。 int A( int b ); int A( int b ); int main( ) { int x = 0; y = A( x ); printf( "%d", y ); } int A( int b ) { int temp = b*100; return temp; }