21xrx.com
2024-11-22 03:37:52 Friday
登录
文章检索 我的文章 写文章
C++中的&与*有何不同?
2023-07-05 04:58:31 深夜i     --     --
C++ & * 不同

在C++中,&和*这两个符号都是很重要的,但它们代表的意义却截然不同。具体来说,&表示取一个对象的地址,而*则表示访问一个指针所指向的对象。

对于&操作符,最常见的用法是取变量的地址。例如,如果有一个整型变量x,那么&x就表示x变量在内存中的地址。它通常用于函数的参数传递、指针的初始化以及动态内存分配中等场景。在这些情况下,&都是用来取对象的地址,以便后续操作。例如,定义一个指向整型变量x的指针p,可以这样写:


int x = 10;

int* p = &x;

这里的&x就是取x变量的地址,然后将这个地址赋值给指针变量p。

而对于*操作符,它则表示一个指针所指向的对象。例如,如果有一个指向整型变量的指针p,那么*p就表示这个指针所指向的整型变量的值。这种用法通常和指针一起使用,以方便对内存中的数据进行操作。例如,可以用下面的代码将变量y的值复制到p所指向的内存中:


int y = 20;

*p = y;

在这里,*p就表示指针p所指向的整型变量的值,也就是x变量。通过*p = y的操作,将y变量的值复制到了x变量所在的内存中,改变了x的值。

在C++中,&和*操作符都是很基础也很重要的,因此我们需要熟练掌握它们的使用方法,并参考具体的上下文使用它们。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复