所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

变量名和变量地址之间是什么关系?

发布时间:2020-04-12 08:37:57

资讯分类:变量  地址  关系  之间  变量  变量名  地址
变量名和变量地址之间是什么关系?

变量名是高级语言所定义的一种东西,它主要是为了方便的寻址变量,在编译过程中,每个变量都有一个变量名,每个名都对应一个应用,即变量的首字节地址。也就是说变量名与其地址具有一对一的映射关系,然而在编译后变量的名字不存在了,C++为了区分类似于形式的变量名和真实地址就必须存在一种机制。

对于一个变量a,不加&,就表示取a的值,而加了&就是取a在内存中的地址,而后者的值只能赋给指针变量。

其实后来发现这种设计存在不良之处,也就是为什么Java,C#,删除了他们的区分,统一使用引用(与指针有细微的差别,但机制是一样)

变量名和变量地址之间是什么关系?

变量名是高级语言所定义的一种东西,它主要是为了方便的寻址变量,在编译过程中,每个变量都有一个变量名,每个名都对应一个应用,即变量的首字节地址。也就是说变量名与其地址具有一对一的映射关系,然而在编译后变量的名字不存在了,C++为了区分类似于形式的变量名和真实地址就必须存在一种机制。 对于一个变量a,不加&,就表示取a的值,而加了&就是取a在内存中的地址,而后者的值只能赋给指针变量。 其实后来发现这种设计存在不良之处,也就是为什么Java,C#,删除了他们的区分,统一使用引用(与指针有细微的差别,但机制是一样)

留言与评论(共有 0 条评论)
   
验证码:
Top