`
yangyou230
  • 浏览: 1647948 次
文章分类
社区版块
存档分类

声明和定义的区别

 
阅读更多

变量的定义(definition):用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义;例如:int my_array[100];

变量的声明(declaration):用于向程序表明变量的类型和名字。定义也是声明,当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。它所说明的并非自身,而是描述其他地方的创建的对象,可以多次出现,例如:extern int my_array[];

“定义也是声明”,这说明声明包括定义。所以诸如int a;extern int a;之类的一定是声明。

如果程序前面都没有出现过a这个变量,这时要使用a,就必须让程序知道要使用a这个变量,这时候写入int a;以前没有a这个变量的,现在程序为了记住它,就得为他分配空间,于是这是个定义。

如果程序包含的其他文件里已经出现过a了,这证明程序已经为a分配内存,这时你要使用a就方便很多了。你只需要告诉程序,这个a在其他地方定义过了,于是你写入extern int a。

对于int a来说,它既是定义又是声明;对于extern int a来说,它是声明不是定义。一般为了叙述方便,把建立存储空间的声明称定义,而不把建立存储空间的声明称为声明。
分享到:
评论

相关推荐

    C语言和C++在声明和定义之间的区别是什么

    C语言和C++在声明和定义之间的区别是什么?看了你就明白了

    用new创建对象和直接定义的区别

    本文章主要讲述了用new创建类对象和直接定义类对象的区别与联系,很好地阐述了二者的关系。

    深入分析C++中声明与定义的区别

    首先谈下声明与定义的区别。  声明是将一个名称引入程序。定义提供了一个实体在程序中的唯一描述。声明和定义有时是同时存在的。 如int a; extern int b=1;  只有当extern中不存在初始化式是才是声明。其他...

    ethsonliu#stackoverflow-top-cpp#068 - 声明和定义有什么区别1

    // 声明// 声明// 声明// 声明// 定义} // 定义} // 定义// 定义2. 声明可以多次,但定义只能一次。// 没问题extern doubl

    C++中的extern声明变量详解

    从内存分配角度来说,声明和定义的区别在于声明一个变量不会分配内存,而定义一个变量会分配内存。一个变量可以被声明多次,但是只能被定义一次。 基于以上前提,我们可以把声明和定义类比为指针和内存的关系。我们...

    你可能不知道的,定义,声明,初始化

    下面,我们就来讨论“声明性定义”与“引用性声明”的区别,之后简称定义与声明。

    delphi动态虚拟覆盖重载重定义的区别

    DELPHI中方法的类型及其覆盖、重载 1、静态方法是方法的缺省类型,对它就像对通常的过程和函数那样调用,编译器知道这些方法的地址,所以... delphi动态虚拟覆盖重载重定义的区别 (www.ip8000.com www.sql8.net)

    C++编程中变量的声明和定义以及预处理命令解析

    对于函数,声明和定义的区别是明显的,前边已说明,函数的声明是函数的原型,而函数的定义是函数功能的确立。对函数的声明是可以放在声明部分中的,而函数的定义显然不在函数的声明部分范围内,它是一个文件中的独立...

    CBS_定义与声明 关键字

    简介的总结,C语言红定义与声明的区别,还有常用关键字的应用

    浅谈内联函数与宏定义的区别详解

    在类中声明同时定义的成员函数,自动转化为内联函数。文章(一)内联函数与宏定义 在C中,常用预处理语句#define来代替一个函数定义。例如: #define MAX(a,b) ((a)>(b)?(a):(b)) 该语句使得程序中每个出现MAX(a...

    变量定义与声明的区别详细解析

    外部变量(全局变量)的"定义"与外部变量的"声明"是不相同的,外部变量的定义只能有一次,它的位置是在所有函数之外,而同一个文件中的外部变量声明可以是多次的,它可以在函数之内(哪个函数要用就在那个函数中声明)也...

    浅谈javascript 函数表达式和函数声明的区别

    javascript中声明函数的方法有两种:函数声明式和函数表达式. 区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,...

    浅析javascript中函数声明和函数表达式的区别

    javascript中声明函数的方法有两种:函数声明式和函数表达式. 区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,...

    浅谈JavaScript中定义变量时有无var声明的区别

    主要介绍了JavaScript中定义变量时有无var声明的区别分析以及示例分享,需要的朋友可以参考下

    JS函数定义方式的区别介绍

    关于JS的函数定义方式有以下两种: (1)典型的函数声明 ...区别二:函数声明会给函数指定一个名字,而函数表达式则是创建一个匿名函数,然后将这个匿名函数赋给一个变量; 看下面例子: function factorial(num)

    50个C、C++面试题

    面试题 1:变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明, 但是只在一个地方定义。加入 extern修饰的是变量的声明,说明此变量将在文件以外...

    C、C++面试题.pdf

    面试题1:变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明, 但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件...

    [面试/笔试系列9]C/C++经典面试题

    面试题1:变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明, 但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或...

Global site tag (gtag.js) - Google Analytics