| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1134 人关注过本帖
标题:一个变量没有地址那么是什么变量???
只看楼主 加入收藏
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
只要变量能用上'&'取地址符的,都是有地址。
register i; 寄存器变量   无地址,它是CPU里的一个可用变量,&i  只要放上取地址符编译就出错。
·
所以:如果一个变量没有地址,那么它一定是(寄存器)变量。

努力—前进—变老—退休—入土
2009-10-22 21:43
C语言学徒
Rank: 2
来 自:NamKing
等 级:论坛游民
帖 子:51
专家分:22
注 册:2009-2-27
收藏
得分:0 
回复 11楼 UserYuH
大哥的是正解,明白了,测试一下,的却如你所说的,不能取地址,不是内存变量!没有地址。谢谢了,高手也!
2009-10-22 22:07
snr108
Rank: 2
来 自:中国
等 级:论坛游民
帖 子:39
专家分:60
注 册:2009-9-14
收藏
得分:0 
以下是引用UserYuH在2009-10-22 14:43:49的发言:

只要变量能用上'&'取地址符的,都是有地址。
register i; 寄存器变量   无地址,它是CPU里的一个可用变量,&i  只要放上取地址符编译就出错。
·
所以:如果一个变量没有地址,那么它一定是(寄存器)变量。
还是认为是指针..为什么呢?
寄存器变量不能用取址符取地址是因为他的格式要求不能用&,而不是说他没有地址.普通变量是在内存中读取,而寄存器变量是在CPU中读取,只是读取的方式和地方不一样,但不能代表没有地址,就像两个人,一个在地球一个在月球.地球上找不到不代表他不在一个地方..
而指针..(没有初始化的指针)形象的说只是一个快捷方式..在没有初始化之前他只是一个虚拟的不确定的.形象上的名词,就像一个空快捷方式,在没有指定一个目标前打开就会出错,而在C中也是一样,不管在那一个教程里,指针说明里都会说要初始化一个地址,要不是NULL要不是一个目标,否则,很有可能指向某系统重要的地址或是不存在..那就会出错了..
  所以,我认为是指针..未初始化的指针...
不知道各位认为怎么样?
2009-10-26 09:27
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
看来你还不了解指针,定义一个指针,它本身就有个地址,这个地址是存放一个同类型变量的地址,没初始化时,这指针的值不是有效的地址。(指针地址、指针的值、指针指向的值)这三个你能区别吗?只要你了解你还会说指针没地址吗?

努力—前进—变老—退休—入土
2009-10-26 09:44
寻找南方
Rank: 2
等 级:论坛游民
帖 子:57
专家分:75
注 册:2009-10-21
收藏
得分:0 
就是7楼说的,寄存器变量是没有地址的!!

我一路向前~~~~~~~~~~~~~
2009-10-26 12:44
寻找南方
Rank: 2
等 级:论坛游民
帖 子:57
专家分:75
注 册:2009-10-21
收藏
得分:0 
寄存器变量是没有地址的.因为寄存器不是在内存中.我们一般变量是在内存在开辟一块存储空间.而唯独寄存器变量不是在内存中开辟一块存储空间,它存在CPU中的寄存器中.
它的使用是为了使程序运行加快.它只要在CPU中取寄存器变量中的内容参加运算.而不像其它变量到内存中去取数据.其它变量就比寄存器变量取数据要慢.  

我一路向前~~~~~~~~~~~~~
2009-10-26 12:45
xiu12
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2009-4-23
收藏
得分:0 
数组名,数组名是个标签,没地方存放,没有地址 。
那么它一定是(? )变量。
2009-10-27 23:18
快速回复:一个变量没有地址那么是什么变量???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016865 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved