C *a=b和a=&;之间有什么区别;B
鉴于:C *a=b和a=&;之间有什么区别;B,c,pointers,C,Pointers,鉴于: *a=b和a=&b之间有什么区别吗?第一个,*a=b将变量b的值复制到a指向的位置 第二个a=&b将b的地址复制到a int **a; // (double pointer) int *b; // (pointer) 您正在将b的值分配给a指向的任何位置 *a = b; 这里您将b的地址分配给a*a=b将b分配给a指向的内存位置 a=&b将b的地址分配给变量a&由运算符获取变量的地址 int **a; // (double pointer) int *b; // (point
*a=b
和a=&b
之间有什么区别吗?第一个,*a=b代码>将变量b
的值复制到a
指向的位置
第二个a=&b
将b
的地址复制到a
int **a; // (double pointer)
int *b; // (pointer)
您正在将b
的值分配给a
指向的任何位置
*a = b;
这里您将b
的地址分配给a*a=b
将b
分配给a
指向的内存位置
a=&b
将b
的地址分配给变量a
&
由运算符获取变量的地址
int **a; // (double pointer)
int *b; // (pointer)
*
是能够检索指针指向的值的运算符,即您应该调用此过程的间接寻址
是的,这两种说法是不同的。我想这里的问题是这两种说法在实践中有什么区别。这个例子说明了这一点:
a = &b;
z指向的值不会更新为新的x值20,而y指向的值会更新。*a=b:*a是一个指针变量,它存储另一个变量的地址,即b和
a=&b:a只是一个普通变量,它存储b的地址,即使它存储b的地址,它也不会存储完整的地址,这取决于数据类型您的问题标题与问题正文不匹配。哪一个是正确的?我不明白,什么不匹配?你觉得呢?为什么你们不能推断出=
符号两侧的外压类型?@VigneshVenkat它现在被编辑了。您原来的问题不匹配。@Cicada oops,很抱歉。谢谢