Reference 我混淆了引用操作符和引用,取消引用操作符和指针

Reference 我混淆了引用操作符和引用,取消引用操作符和指针,reference,Reference,据我所知,&被称为“参考运算符”,意思是“地址”。所以,它的作用是将地址存储在任何变量中。例如,“a=&b;”。但我知道另一个意思是“参考”。正如您所知,引用是变量的别名。因此,在我的结果中,&根据位置有两种含义。如果“a=&b;”,&指“b的地址”。如果“int&a=b;”,&表示“另一个变量的别名” 据我所知,*被称为“解引用运算符”。但它就像&,根据位置它有两种含义。如果“int*a=&b”,则*表示“指针变量”。如果“a=*b”,则*表示“取消引用变量” 他们是对的吗 另外,我是弗雷格纳

据我所知,&被称为“参考运算符”,意思是“地址”。所以,它的作用是将地址存储在任何变量中。例如,“a=&b;”。但我知道另一个意思是“参考”。正如您所知,引用是变量的别名。因此,在我的结果中,&根据位置有两种含义。如果“a=&b;”,&指“b的地址”。如果“int&a=b;”,&表示“另一个变量的别名”

据我所知,*被称为“解引用运算符”。但它就像&,根据位置它有两种含义。如果“int*a=&b”,则*表示“指针变量”。如果“a=*b”,则*表示“取消引用变量”

他们是对的吗


另外,我是弗雷格纳。所以我的英语很差。很抱歉我的英语很差。

您好,据我所知,您对指针和引用的概念感到困惑。让我试着给你解释一下:

当我们在变量声明中使用这两个变量中的任何一个时,请将其视为指定该变量的数据类型

比如说,,
int*a创建一个指针变量“a”,它可以保存(换句话说,指向)另一个整数变量的地址

类似地
int&a=b创建引用b的引用变量“a”(换句话说,“a”只是整数b的别名)

现在看起来它们可能是一样的,实际上它们都提供类似的功能,但这里有一些不同:

指针有分配给它的内存来保存它指向的另一个变量的地址,而引用实际上并不存储它们所引用的变量的地址

另一个区别是,指针在声明时不需要初始化,但引用在声明时必须初始化,否则会引发错误。ie<代码>整数*a正常,而
int&a抛出错误

现在,对于运算符,请尝试查看它们与指针或引用完全没有关联(尽管这是我们使用它们最多的地方)

引用运算符(&)只返回其操作数变量的地址。而解引用运算符(*)只是假设其参数的值是地址,并返回存储在该地址的值

希望这对你有帮助。以下是一些有用的参考资料(没有双关语):