以下是引用UserYuH在2009-10-22 14:43:49的发言:
只要变量能用上'&'取地址符的,都是有地址。
register i; 寄存器变量 无地址,它是CPU里的一个可用变量,&i 只要放上取地址符编译就出错。
·
所以:如果一个变量没有地址,那么它一定是(寄存器)变量。
还是认为是指针..为什么呢?
寄存器变量不能用取址符取地址是因为他的格式要求不能用&,而不是说他没有地址.普通变量是在内存中读取,而寄存器变量是在CPU中读取,只是读取的方式和地方不一样,但不能代表没有地址,就像两个人,一个在地球一个在月球.地球上找不到不代表他不在一个地方..
而指针..(没有初始化的指针)形象的说只是一个快捷方式..在没有初始化之前他只是一个虚拟的不确定的.形象上的名词,就像一个空快捷方式,在没有指定一个目标前打开就会出错,而在C中也是一样,不管在那一个教程里,指针说明里都会说要初始化一个地址,要不是NULL要不是一个目标,否则,很有可能指向某系统重要的地址或是不存在..那就会出错了..
所以,我认为是指针..未初始化的指针...
不知道各位认为怎么样?