函数定义和函数声明编译器
Ⅰ 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 );
都是正确的。
Ⅲ java中函数的声明和定义
Java中,我们应该知道最基本的就是定义变量和声明变量了,那么定义与声明这两者有没有区别呢?具体的区别又是哪些呢?下面学习啦小编来告诉你定义与声明的区别。
定义和声明的定义区别
1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。
2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。
声明是向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。
而定义是说:“在这里建立变量”或“在这里建立函数”。它为名字分配存储空间。无论定义的是函数还是变量,编译器都要为它们在定义点分配存储空间。
对于变量,编译器确定变量的大小,然后在内存中开辟空间来保存其数据,对于函数,编译器会生成代码,这些代码最终也要占用一定的内存。
总之就是:把建立空间的声明成为“定义”,把不需要建立存储空间的成为“声明”。
基本类型变量的声明和定义(初始化)是同时产生的;而对于对象来说,声明和定义是分开的。
下面小编给大家举个例子说明一下。
例如:类A
如果A a;就是一个声明,告诉编译器a是A类的一个对象变量,但是不进行初始化;
如果以后a=new A();这就是初始化,分配了空间。
需要注意的是我们声明的最终目的是为了提前使用,即在定义之前使用,如果不需要提前使用就没有单独声明的必要,变量是如此,函数也是如此,所以声明不会分配存储空间,只有定义时才会分配存储空间。
用static来声明一个变量的作用有二:
(1)对于局部变量用static声明,则是为该变量分配的空间在整个程序的执行期内都始终存在。
(2)外部变量用static来声明,则该变量的作用只限于本文件模块。
定义和声明的具体区别
所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。
声明有2重含义:
(1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
(2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
定义和声明最重要区别
定义创建对象并为这个对象分配了内存,声明没有分配内存。
Ⅳ 函数声明与函数定义的区别
声明与定义的区别:
函数的声明与函数的定义形式上十分相似,但是二者有着本质上的不同。声明是不开辟内存的,仅仅告诉编译器,要声明的部分存在,要预留一点空间。定义则需要开辟内存。
函数的定义
函数的定义是一个完整的函数单元,包含函数类型、函数名、形参及形参类型、函数体等。在程序中,函数的定义只能有一次。函数首部与花括号间不加分号。
函数的声明
函数声明只是对编译系统的一个说明:函数声明是对定义的函数的返回值的类型说明,以通知系统在本函数中所调用的函数是什么类型。不包含函数体(或形参),调用几次该函数就应在各个主调函数中做相应声明。函数声明是一个说明语句,必须以分号结束。
拓展资料:
C语言编译系统是由上往下编译的.一般被调函数放在主调函数后面的话,前面就该有声明.不然C由上往下的编译系统将无法识别。正如变量必须先声明后使用一样,函数也必须在被调用之前先声明,否则无法调用!函数的声明可以与定义分离,要注意的是一个函数只能被定义一次,但可以声明多次。
函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。这三个元素被称为函数原型,函数原型描述了函数的接口。定义函数的程序员提供函数原型,使用函数的程序员就只需要对函数原型编辑即可。
Ⅳ 函数声明的声明与定义的区别:
函数的声明与函数的定义形式上十分相似,但是二者有着本质上的不同。声明是不开辟内存的,仅仅告诉编译器,要声明的部分存在,要预留一点空间。定义则需要开辟内存。 函数声明只是对编译系统的一个说明: 函数声明是对定义的函数的返回值的类型说明,以通知系统在本函数中所调用的函数是什么类型。 不包含函数体(或形参) 调用几次该函数就应在各个主调函数中做相应声明 函数声明是一个说明语句,必须以分号结束!
Ⅵ C++中,函数的声明与函数的定义有什么区别
函数的声明与函数的定义的区别:
声明:一般在头文件里,对编译器说:这里我有一个函数叫function() 让编译器知道这个函数的存在。
定义:一般在源文件里,具体就是函数的实现过程 写明函数体。
你还可以这样理解:
首先下图中的程序执行时,电脑是从上到下执行的。
也就是说假如没有函数的声明那一句,当函数执行到函数调用这一句时,电脑不知道fun是什么东西,他不知道在下面有这个函数的具体实现。
因此,需要声明下,告诉电脑,确实有这个东西存在,是函数,在下面有定义。
(6)函数定义和函数声明编译器扩展阅读:
集成开发环境(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
Ⅶ 函数定义和函数声明有什么区别,程序调试和程序测试有什么区别,说的通俗点,感激不尽
函数声明就是只写出函数和函数参数,不写函数体(就是大括号里的内容,包括大括号),函数定义写函数和函数参数和函数体,函数声明就相当于告诉有一个人叫xxx,函数定义相当于告诉你有一个叫xxx的人,同时还告诉你他会做什么,他有什么属性。
程序调试是指你写完你的程序时,编译器告诉你有错误,有警告,然后你去修改你的程序,使之能运行。
程序测试是程序虽然运行起来是,但是结果会导致程序崩溃,或者结果是错的,然后去修正你的代码使错误修正。