之间有什么区别(如果有的话)
*a = b;
和
a = &b;
这两种不同的方法是使var指向另一个var吗?
答案 0 :(得分:6)
*a = b;
不会更改a
,但会更改a
指向的内容。 a = &b;
确实更改a
,但它不会更改a
指向的内容。
答案 1 :(得分:1)
这是两种不同的操作。
*a = b
将b
的值复制到a
指向的内存位置。
a = &b
更改a
,以便现在a
指向b
的位置。
答案 2 :(得分:1)
*a = b
表示b
指向的地址中a
的复制值
a = &b
表示a
现在指向b
答案 3 :(得分:1)
以下代码的和平应该回答你的问题:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void){
int a = 5;
int b = 10;
int *p = &b;
printf("A = %d\nB = %d\n*p = %d\n",a,b,*p);
*p = a;
printf("\n");
printf("A = %d\nB = %d\n*p = %d\n",a,b,*p);
return 0;
}
输出:
A = 5 B = 10 *p = 10
A = 5
B = 5
*p = 5
答案 4 :(得分:0)
作为一个小例子:
int b=10,c=20;
int *a=0;
a=&b; *a=c;
现在您将b的值更改为c
的值