定义函数,调用函数,声明函数什么意思什么区别

作者&投稿:亥胡 (若有异议请与网页底部的电邮联系)
请问C语言中函数定义,函数声明和函数调用的区别?~

楼主可以这样想,C语言中,无论是常量,变量,函数,只有先定义才能使用的。在函数定义时,大脑要往一般的常量,变量定义的方向,切忌先不要想函数的别的。定义好后,把函数的定义先放一边,不管它。
接着是函数声明,大家都知道,C语言是有一个主函数main()和0或n个普通函数组成的。由于当代码越长,用到的函数就越多,为了减少函数的混淆,所以要有个函数名,就像老师点名一样,声明一个函数,就如点一个学生的名字。
总之,函数定义是系统要求的,不定义就错误,而函数声明实际上不定义也行,但为了方便和减少错误,人为规定要声明。

声明与定义的区别:
函数的声明与函数的定义形式上十分相似,但是二者有着本质上的不同。声明是不开辟内存的,仅仅告诉编译器,要声明的部分存在,要预留一点空间。定义则需要开辟内存。
函数的定义
函数的定义是一个完整的函数单元,包含函数类型、函数名、形参及形参类型、函数体等。在程序中,函数的定义只能有一次。函数首部与花括号间不加分号。
函数的声明
函数声明只是对编译系统的一个说明:函数声明是对定义的函数的返回值的类型说明,以通知系统在本函数中所调用的函数是什么类型。不包含函数体(或形参),调用几次该函数就应在各个主调函数中做相应声明。函数声明是一个说明语句,必须以分号结束。
拓展资料:C语言编译系统是由上往下编译的.一般被调函数放在主调函数后面的话,前面就该有声明.不然C由上往下的编译系统将无法识别。正如变量必须先声明后使用一样,函数也必须在被调用之前先声明,否则无法调用!函数的声明可以与定义分离,要注意的是一个函数只能被定义一次,但可以声明多次。
函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。这三个元素被称为函数原型,函数原型描述了函数的接口。定义函数的程序员提供函数原型,使用函数的程序员就只需要对函数原型编辑即可。

声明函数,就是声明某变量是函数,并声明它有几个参数,有无返回值,参数是什么类型,返回值是什么类型。
定义函数,需给出所有形式参数,就是用形式参数 详细地 描述 函数执行具体运算和操作。
调用函数,是用实际参数代替形式参数,放入函数,按 函数定义 描述 的 过程 执行一遍 运算和操作,并返回结果。

例如:
声明函数 int add(int , int ); -- 声明add是函数,有2个整型参数,返回整型值
定义函数 int add(int a, int b ) { return a+b;} -- 定义形参a,b 返回 a+b
调用函数 z = add(x,y); // x,y 的值已知,用xy代替形参,调用add, 返回整型值 并赋给 z。

函数定义若在main() 以前,可略去 函数声明。
函数定义若在main() 以后,main()以前要有 函数声明,又叫函数原型声明,分号结束,可以带形参,写出形参名,也可以只写类型,不写形参名字。
例如 函数原型声明:
int add(int a, int b ); 或
int add(int , int ); 或
int add(int e, int f );
都是正确的。

定义函数就是把函数内部的代码写出来;
声明就是在调用之前告诉编译器有这个函数;
至于调用嘛,就是使用它咯

C++中,函数的声明与函数的定义有什么区别?
答:写明函数体。你还可以这样理解:首先下图中的程序执行时,电脑是从上到下执行的。也就是说假如没有函数的声明那一句,当函数执行到函数调用这一句时,电脑不知道fun是什么东西,他不知道在下面有这个函数的具体实现。因此,需要声明下,告诉电脑,确实有这个东西存在,是函数,在下面有定义。

函数声明与函数定义的区别
答:函数的定义 函数的定义是一个完整的函数单元,包含函数类型、函数名、形参及形参类型、函数体等。在程序中,函数的定义只能有一次。函数首部与花括号间不加分号。函数的声明 函数声明只是对编译系统的一个说明:函数声明是对定义的函数的返回值的类型说明,以通知系统在本函数中所调用的函数是什么类型。不...

“自定义函数在调用之前,必须进行函数声明,否则编译会出错”这句话为 ...
答:这句话是错误的,只有定义在调用之后的函数才需要声明,如果定义在调用之前的函数,无需声明,例子1,定义在调用之后,必须声明:main(){ int f();//这个声明是必须的 printf("%d",f());} int f(){return 1;} 例子2,定义在调用之前,无需声明:int f(){return 1;} main(){ /*int f...

在c++中如何在一个工程里创建多个自定义函数并调用
答://以下为myfunc.h头文件内容void hello();//声明hello函数int hello_with_ret(); //声明带返回值的函数 int sum(int a, int b); //声明带参数和返回值的函数,实现求和功能//以下为myfunc.cpp文件内容#include "myfunc.h"#include <stdio.h>void hello()//定义hello函数{printf("hell...

C语言 函数定义 函数声明 区别
答:接着是函数声明,大家都知道,C语言是有一个主函数main()和0或n个普通函数组成的。由于当代码越长,用到的函数就越多,为了减少函数的混淆,所以要有个函数名,就像老师点名一样,声明一个函数,就如点一个学生的名字。总之,函数定义是系统要求的,不定义就错误,而函数声明实际上不定义也行,但...

函数声明与函数定义分别在程序中的什么位置?为什么?
答:函数,是编程语言中可以独立运行的一个代码块。在C语言中,程序从main()函数开始运行,其他函数要被main函数调用才可以运行。在从shell解释器运行编译好的可执行程序时,main函数会被shell启动,开始运行。C语言的函数在使用时要经过3个步骤:声明、定义、调用。函数声明,就是给出函数的原型,让程序员...

C语言函数的调用函数名后面的形式参数表列可以是数字常量吗
答:函数名后面的形式参数表列不可以是常量!C语言中函数有三个概念:定义 声明 调用 函数定义:自定义一个函数,并完成相应的代码实现,如:int max( int a, int b ) //小括号中的 a, b被称为形参,用来对应相应的实参,因为这里的形参可对应任意的实参值,所以,必须以变量形式体现。{ return ...

c语言中怎么调用函数?谢谢
答:include<stdio.h>int fun(int x, int y); // 函数声明,如果函数写在被调用处之前,可以不用声明void main(){int a=1, b=2, c;c = fun(a, b); // 函数的调用,调用自定义函数fun,其中a,b为实际参数,传递给被调用函数的输入值}// 自定义函数funint fun(int x, int y) //...

在C++中要如何定义一个函数?
答:函数abc()是int类型的也就是又返回值,并且会返回一个整数,它的功能就是将a,b的和返回;而返回来的地方就是调用函数的地方。1、C++的函数也保存在内存中,所以可以使用指针访问函数地址。2、声明函数指针,其方法与函数原型差不多,以下为一个函数原型。3、以上函数原型,其相应的指针声明如下图所示...

在c语言中,函数调用是否必须先声明?
答:之前必须定义或申明过这个函数。这样是合法的:void f(){ } int main(){ f();} 这样也是合法的 void f();int main(){ f();} void f(){ } 这样就是非法的 int main(){ f();} void f(){ } 所以函数调用不一定需要先声明,当函数定义调用函数之后需才要先申明。