*变量名和变量名之间有什么区别

时间:2012-03-12 06:26:17

标签: objective-c c variables pointers ampersand

在Objective C,C和其他指针支持的语言中,* variablename和&的区别是什么?变量名。这两个都包含地址位置吗?

3 个答案:

答案 0 :(得分:5)

&variablename 

包含指针的地址位置。

*variablename

返回存储在该内存地址中的值。

这是一张更好理解的图片 enter image description here

指针myPointer保存整数变量的地址。要获取该整数的值,我们在指针* ourPointer的名称之前使用*,它为我们提供存储在它所拥有的地址中的值。

答案 1 :(得分:3)

*variablename指向指针的内容,因为'variablename'是一个指针。而&variablename指向变量名的地址。

&variablename可以应用于普通变量和指针,其中*variablename只能应用于指针。

答案 2 :(得分:0)

int * a; //变量a指向整数的地址

int& a; //变量a是对另一个整数的引用

参考Reference Vs pointers