int a = 2; int *q = &a; int *p = q;时为什么q=a不合法
时间: 2024-06-06 19:05:10 浏览: 150
C++ Primer中&、*符号的多重定义与int *p和int* p的区别讲解
5星 · 资源好评率100%
在C++中,&运算符可以获得一个变量的地址,而*运算符可以用来指向一个地址。在你的代码中,int *q = &a; 表示将变量a的地址赋值给指针变量q。因此,q指向了a的地址。
如果你想将q的值赋给a,应该使用 *q = a;,这样会将a的值赋给q所指向的地址中的内容,也就是a本身的值。而 q = a; 不合法,因为它试图将一个整数值赋给指针变量q,这是不允许的。
阅读全文