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(){}

C++中,函数的声明与函数的定义有什么区别?
函数的声明与函数的定义的区别:声明:一般在头文件里,对编译器说:这里我有一个函数叫function() 让编译器知道这个函数的存在。定义:一般在源文件里,具体就是函数的实现过程 写明函数体。你还可以这样理解:首先下图中的程序执行时,电脑是从上到下执行的。也就是说假如没有函数的声明那一句,当...

c中定义和声明有什么区别
c++中定义和声明的区别:变量的声明和定义:从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。如果是指函数的声明和定义:声明一般在头文件里,使编译器明白这里有一个函数,让编译器知道这个函数的存在。定义一般在源文件...

c++中定义和声明有什么区别?
定义:一般在源文件里,具体就是函数的实现过程 写明函数体。

C++中函数声明与函数原型有什么区别
主要区别我觉得有以下一些 第一:声明一般在主函数之前,而定义不一定。第二:定义也是一种声明(放在主函数前面),但声明不代表定义。第三:根据c++ primer中的阐述,函数声明只是告诉系统有这样一个函数,但并不给他分配内存空间,只有当函数被定义后才会分配内存空间。第四:当然如楼上所说,定义有...

C语言和C++在声明和定义之间的区别是什么?
一般来讲,声明变量并不会占用存储空间,而定义变量会占用存储空间.声明函数只提供函数的格式,定义函数则提供函数的实现代码.当然,很多时候,声明和定义是合并在一起的,这样的声明称为为定义声明.举例来讲:int test=1;\/\/这是一个定义声明,term被分配了内存空间 extern int test;\/\/这是一个声明而不是...

为什么 C++传递函数参数的时候,函数声明和函数定义的函数名不一样?
木有不一样啊 不都是无返回值的swap吗 你说的应该是是、参数名不同 声明和定义时的参数只是一个代号而已 用于规定函数的格式和运算方式 声明 定义 调用 可以分别用三套不同的字母做参数

C++ 声明与定义
1. 函数原型的返回值类型必须与函数定义相同。2. 函数原型的形参表的类型与顺序必须与函数定义相同,尽管函数原型可以不写形参名称,即便写了形参名称也可以与原函数不同。3. 空形参 C语言中:int func(); \/\/ 表示可以有很多参数 int func(void); \/\/ 表示没有参数 C++中,上述两行代码等价,且...

一道C++的选择题,关于函数的声明与定义
C:函数声明,可以只有函数类型,不带参数标识符,但是必须保证在函数定义的时候,参数的类型,个数和顺序必须与函数声明中的类型 个数 顺序相匹配,否则在一些语言如C语言中,编译器会报错,在另外一些语言如C++语言中会被当作成函数重载 D:对于函数定义放在另一个函数定义中,暂时没见过,个人觉得应该会...

...对函数只用声明一次吗?对变量的声明,和对变量的定义什么区别...
函数需要声明且只能声明一次,对变量的声明,和对变量的定义没什么区别。

C++ 语法:C++变量声明和定义的区别
int A; \/\/是定义,定义了A为整型的外部变量 外部变量的“定义”与外部变量的“声明”是不相同的,外部变量的定义只能有一次,它的位置是在所有函数之外,而同一个文件中的外部变量声明可以是多次的,它可以在函数之内(哪个函数要用就在那个函数中声明)也可以在函数之外(在外部变量的定义点之前)。系统...

相似回答