当前位置:首页 > 科普资料 > 正文

声明和定义的区别

声明和定义的区别

我先说声明和定义的区别吧,这个包含了所有类型的变量,包括类类型。int a;是一个整型变量的声明,而int a = 1;就是一个声明再加定义。

而char p;是一个声明,而 p = NULL,就是变量的定义。

class time{};是一个类的声明,因为这样写一般只声明了类里的成员变量(没有初始化的,也不能初始化,除了常量),还有函数的声明。函数声明也就是只有函数名,没有函数体,这个应该了解吧。当然函数声明和定义可以放在一起,一并在clas time{}里面。一般是先声明了函数,再在外面定义函数体,同时也就是类的定义啦。

2、所以总的说,声明就是告诉编译器有这么一个变量,定义就是告诉编译器这个变量有多大,是干什么用的。

Java中定义与声明的区别是什么?

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) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。定义和声明最重要区别定义创建对象并为这个对象分配了内存,声明没有分配内存。

变量的声明和定义有什么区别

变量的声明和定义的区别如下:1、一种是需要建立存储空间的。例如:inta在声明的时候就已经建立了存储空间。

2、另一种是不需要建立存储空间的。

例如:externinta其中变量a是在别的文件中定义的。前者是“定义性声明(definingdeclaration)”或者称为“定义(definition)”,而后者是“引用性声明(referncingdeclaration)”,从广义的角度来讲声明中包含着定义,即定义是声明的一个特例,所以并非所有的声明都是定义,例如:inta它既是声明,同时又是定义。然而对于externa来讲它只是声明不是定义。一般的情况下我们常常这样叙述,把建立空间的声明称之为“定义”,而把不需要建立存储空间的声明称之为“声明”。

很明显我们在这里指的声明是范围比较窄的,即狭义上的声明,也就是说非定义性质的声明。

在C语言中声明和定义有什么区别

变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。

变量声明:用于向程序表明变量的类型和名字。

区别:
定义也是声明,extern声明不是定义。定义分配存储空间,而声明不会。通过使用extern关键字声明变量名而不定义它。 事实上它只是说明变量定义在程序的其他地方。

程序中变量可以声明多次,但只能定义一次。
只有当声明也是定义时,声明才可以有初始化式,因为只有定义才分配存储空间。
例如:extern int a其中变量a是在别的文件中定义的。

前者是\”定义性声明(defining declaration)\”或者称为\”定义(definition)\”,而后者是\”引用性声明(referncing declaration)\”。

扩展资料:
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息。
例如,可以创建一个名为Click Count的变量来存储用户单击Web页面上某个对象的次数。

使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在VB Script中只有一个基本数据类型,即Variant,因此所有变量的数据类型都是Variant。
在VB6中,变量的命名必须遵循以下规则:
(1)变量名必须以字母或下划线打头,名字中间只能由字母、数字和下划线“_”组成;一个字符可以是类型说明符;
(2)变量名的长度不得超过255个字符;
(3)变量名在有效的范围内必须是的。

有效的范围就是引用变量可以被程序识别、使用的作用范围——例如一个过程、一个窗体等等;
(4)变量名不能是VB中的保留字(关键字),也不能是末尾带类型说明符的保留字,但可以把保留字嵌入变量名,关键字是指VB6语言中的属性、事件、方法、过程、函数等系统内部的标符。

C语言变量的定义和声明有什么不同?

C语言变量的定义和声明的不同之处:
1、变量在使用前就要被定义或者声明;
2、在一个程序中,变量只能定义一次,却可以声明多次;
3、定义分配存储空间,而声明不会。

扩展资料:
变量的定义:用于为变量分配存储空间,还可以为变量指定初始值。

在程序中,变量有且仅有一个定义。


声明:用于向程序表明变量的类型和名字。
定义也是声明:当定义变量的时候我们声明了它的类型和名字。可以通过使用extern声明变量名而不定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern。


extern声明不是定义,也不分配存储空间。事实上它只是说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。


只有当声明也是定义时,声明才可以有初始化式,因为只有定义才分配存储空间。初始化式必须要有存储空间来进行初始化。如果声明有初始化式,那么它可被当作是定义,即使声明标记为extern。


任何在多文件中使用的变量都需要有与定义分离的声明。在这种情况下,一个文件含有变量的定义,使用该变量的其他文件则包含该变量的声明(而不是定义)。