读书人

两个不同的变量真的可以占用同一段内存

发布时间: 2013-09-15 19:58:13 作者: rapoo

两个不同的变量真的可以占用同一段内存单元?怎么回事?
在看数据结构时候一直迷惑书上的那种传参方式,书上调用函数的时候都是直接把变量名直接传过去,而不是传变量的地址,然而在接受参数时候也不是定义指针来接受实参,而是定义一个变量,取形参的地址。这样也可以在被调函数中改变主调函数的值!


两个不同的变量真的可以占用同一段内存单元?咋回事
两个不同的变量真的可以占用同一段内存单元?咋回事
如图,在main函数调用compter函数的时候,main中的n并没有被释放掉,还指向原来的内存单元,而compter中的地址也也那一段?
两个变量同时指向同一段内存单元? 内存 数据结构 指针
[解决办法]
这是C++的引用啊。
数据结构一般是C的,C中没有引用所以才那么写。
[解决办法]
引用:
Quote: 引用:

这是C++的引用啊。
数据结构一般是C的,C中没有引用所以才那么写。
这样写的结构是两个变量指向同一段内存单元?但是这好像是不允许的吧?
好像指针变量才有这个功能吧?


引用就是这么规定的,又称别名。
[解决办法]
函数参数中定义引用相当于指针,但在函数体内看,相当于普通变量(取值不需要使用*),在函数体内定义的引用,定义的时候必须同时初始化,相当于定义了另一个变量的别名(这个看起来是没有什么实际意义,但允许)

读书人网 >C语言

热点推荐