
变量名和变量地址之间是什么关系?
2个回答
展开全部
否则会被当做一个变量名来处理。
追问
变量名既然已经是地址的别名了,这不就是说明他们是同一个东西吗?
追答
不一样的,但是内存会认为这是一个新的变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变量名是高级语言所定义的一种东西,它主要是为了方便的寻址变量,在编译过程中,每个变量都有一个变量名,每个名都对应一个应用,即变量的首字节地址。也就是说变量名与其地址具有一对一的映射关系,然而在编译后变量的名字不存在了,C++为了区分类似于形式的变量名和真实地址就必须存在一种机制。
对于一个变量a,不加&,就表示取a的值,而加了&就是取a在内存中的地址,而后者的值只能赋给指针变量。
其实后来发现这种设计存在不良之处,也就是为什么Java,C#,删除了他们的区分,统一使用引用(与指针有细微的差别,但机制是一样)
对于一个变量a,不加&,就表示取a的值,而加了&就是取a在内存中的地址,而后者的值只能赋给指针变量。
其实后来发现这种设计存在不良之处,也就是为什么Java,C#,删除了他们的区分,统一使用引用(与指针有细微的差别,但机制是一样)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询