C++中,函数的声明与函数的定义有什么区别?

如题所述

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

声明:一般在头文件里,对编译器说:这里我有一个函数叫function() 让编译器知道这个函数的存在。

定义:一般在源文件里,具体就是函数的实现过程 写明函数体。

你还可以这样理解:

首先下图中的程序执行时,电脑是从上到下执行的。

也就是说假如没有函数的声明那一句,当函数执行到函数调用这一句时,电脑不知道fun是什么东西,他不知道在下面有这个函数的具体实现。

因此,需要声明下,告诉电脑,确实有这个东西存在,是函数,在下面有定义。

扩展资料:

集成开发环境(IDE)

Visual Studio (Visual C++)

C++ Builder

kDevelop

Anjuta

Code::Blocks:开放源码的全功能的跨平台C/C++集成开发环境  。

Visual Mingw

Ideone

Eclipse CDT

Compilr

Code Lite

Netbeans C++ 

集成开发环境(IDE),功能齐全,调试功能很强,程序编好后,可以立刻在环境中调试以获得初步测试结果,然后,可以方便地做成beta版形式,拿到实际环境中进一步测试,最后做成软件发行版。 

编译器

Dev C++

Ultimate++

Digital Mars

C-Free

MinGW

Tiny C Compiler

参考资料:百度百科-C++

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-22
函数的声明是相当于定义了一个函数的名字,即在程序中该名字就代表了一种操作,但声明中并不会说明该函数是怎么产生作用的;而函数的定义就是具体说明了函数的具体作用,即实现过程。
例如 void output(int x);//是一个函数的声明,它一般位于主函数的前面;
void main()
{int x;
cin>>x;
output(x);//函数的调用
}
void output(int x){ cout<<x<<endl;}//函数的定义,即指定了函数的具体操作。
第2个回答  推荐于2017-10-15
好吧,这样和你说
void fun();//这个叫函数的声明
main()
{
fun();//这个叫函数的调用
}
void fun()//这个叫函数的定义
{
//函数体
//......
//......
}

首先这个程序执行时,电脑是从上到下执行的
也就是说假如没有函数的声明那一句,当函数执行到函数调用这一句时,电脑不知道fun是什么东西,他不知道在下面有这个函数的具体实现。因此,需要声明下,告诉电脑,确实有这个东西存在,是函数,在下面有定义本回答被提问者采纳
第3个回答  2009-10-22
函数的声明指 变量声明了,并且在声明之后。程序可以用此变量了。而函数的定义 则是给函数赋予一定的初值。例如 Int a; 是声名,在声明之后可用a这个变量。 Int a=5;是定义
第4个回答  2009-10-22
有函数体的称为定义,
即使函数体只是一个大括号,比如
int p(){}
相似回答