c语言新手的求救

xin162308 2003-05-20 08:19:40
函数声明于函数定义有什么区别啊?(书上写的很混淆)
...全文
45 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨星 2003-05-20
  • 打赏
  • 举报
回复
声明只是声明一下,通常是为了编译时让编译器知道有那么个函数以及他的参数、返回值。因为C/C++是分文件独立编译的,也就是说,如果被调用的函数在另一个文件中,如果没有声明,编译器就不知道有那么个函数从而报出错来。
定义就是函数的实现呀。

比如说,可以在头文件a.h中声明函数a()
int a();
而在文件a.c中实现它。
int a()
{
……
}

这样,如果文件b.c中要用到函数a(),那么在b.c中加一句:#include a.h就可以了。当然,更简单的,不用包含文件,声明一下即可。

而我们通常的学习中,由于例子较简单,所以所有的函数往往都写在一个文件中,这样可以只定义不声明,但要求被调用者一定要写在调用者的前面。这样程序会显得乱。
所以一个好的方法是在文件开头声明所有的函数,然后写main函数,而吧函数点定义都写道main函数后边。
如:
void f();
int h();

void main()
{
……
}

void f()
{
……
}

int h()
{
……
}
Akun22 2003-05-20
  • 打赏
  • 举报
回复
声明:定义函数功能及调用方法
定义:函数实现方法
  • 打赏
  • 举报
回复
函数声明就是指明函数的返回值和参数类型,不需要给出{}里的东西。
定义就是什么都要写出来
这么解释楼主可以明白吗:)
cnss 2003-05-20
  • 打赏
  • 举报
回复
声明就是告诉编译器有这么个函数
定义就是写函数的代码

如果函数A需要调用在文件后面的函数B,就要在A前声明函数B.
gwsr 2003-05-20
  • 打赏
  • 举报
回复
通过函数声明你可以知道它的返回值类型,形参类型,函数名
函数定义应该是指具体的函数实现方法。
我也说不好了,请高手指教!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧