问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2023-10-01 19:29

我来回答

5个回答

热心网友 时间:2024-12-03 19:07

C语言变量的定义和声明的不同之处:

1、变量在使用前就要被定义或者声明;

2、在一个程序中,变量只能定义一次,却可以声明多次;

3、定义分配存储空间,而声明不会

扩展资料:

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

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

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

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

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

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

热心网友 时间:2024-12-03 19:07

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

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

区别:

定义也是声明,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语言中的属性、事件、方法、过程、函数等系统内部的标符。 

参考资料:变量-百度百科

热心网友 时间:2024-12-03 19:08

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

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


拓展资料:


声明变量


声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显式声明变量。

例如:
Dim Degrees Fahrenheit


声明多个变量时,使用逗号分隔变量。例如:


Dim Top, Bottom, Left, Right


另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果。因此,最好使用Option Explicit语句显式声明所有变量,并将其作为Script的第一条语句。

热心网友 时间:2024-12-03 19:09

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

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

热心网友 时间:2024-12-03 19:09

从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。
对于下面的两句代码:
void Func()
{
int a;
int b=1;
a=0;
}
对于第一行代码,编译器不会做任何事,它不会为它在栈中分配一点东西,直到第三句,a=0;时,编译器才会将其压入栈中。而对于int b=0;这一句,编译器就会生成一条指令,为它赋值。如果反汇编,看到的代码可能是这样的:
push 1;
push 0;
当然,并不一定编译器就会样做,也有可能在声明int a时,编译器就会把一个废值入栈,到第三条再为其赋值,这要看编译器的具体取舍,所以,声明不一定不是定义,而定义一定是定义。
但是,下面的声明,一定仅仅是声明:
extern int a;
这表时,有一个int变量a,它一定是在另外其他地方定义的,所以编译器此时一定不会做什么分配内存的事,因为它就是声明,仅仅表明下面的代码引用了一个符号,而这个符号是int类型的a而已。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
酸醋萝卜怎么做又脆又好吃 账簿启用及交接表填写的步骤 账簿启用及交接表怎样填写 说的是精神分裂症,吃了二年多的药,分别是利培酮片,苯海索片,补脑_百度... 精神分裂症急性期适当的治疗方法 快递三斤荔枝的话要多少钱? 求高手指点一个plc编程问题,计算时间差,还有时间比较后,输出执行... 你好高手 我现在买了个松下fp0的PLC我想写一个步进程序,请问能否... 【plc执行程序步骤】 plc执行程序时 若有一步不能满足条件而执行不了... 电脑屏幕的壁纸怎么更换? 与微信帐号是一回事吗 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 一个手机可以申请几个? 为公务而牺牲生命是哪个词语的意思? ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 生命不需要喧嚣散文 云天化值得价值投资吗?云天化2021半年报怎么样?云天化多少钱入合适? 银行卡绑定的手机号不想用了又不想去银行办理还能怎么注销?_百度... ...股票价格走势?云天化关键财务指标分析?云天化股票最新点评消息?_百度... 现在云天化股票能买吗?今天云天化如何?云天化业绩预告? 一个手机能注册几个啊? 平舆市民之家标志象征什么意思? 给松狮小狗起给好挺的名字~ ,要怎样才能修改?445 一个手机能注册几个呢? 怎样快速提取文件夹中的文件名 快速提取文件名 php-fpm比php成为apache模块好在哪20 在淘宝买完东西后,为什么支付宝的钱没少,而工商银行的卡上的钱少... 微信帐号及微信密码一样吗? 银行磁卡后面持卡人签名用黑笔写的字怎么擦掉 1吨等于多少千克,等于多少克,413 身家清白是什么意思 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 微信帐号与有什么区别? 甲骨文月字的说文解字 一周骑自行车一次可以减肥么 ...是用网银付的款后银行卡里面的钱怎么就没有了?这是什么原因?_百度... 生活,恍如野草 在VB语言中,什么是合法的变量名,概念4 宜都记曰自黄牛滩翻译 微信帐号与有什么区别 3600千克等于多少吨22 3600千克减1600千克等于多少吨? 请问跟微信ID是一回事吗? 梦见金色小蛇缠着你的预兆 和微信帐号是一个吗 如何用一句话来证明你是正常人?5 和"奥"的上半部分一样的字有哪些,它们的读音分别是什么 小米电视和荣耀电视音效谁好?买哪个? 798童锦程为什么叫798