int main()
{int a = 1;
int b = 2;
int* p, * r;
p = &a;
r = &b;
printf("a = %d\n", a); //a = 1
printf("p = %d\n", p); //p = -1133513004
printf("r = %d\n", r); //r = -1133512972
printf("p = %d\n", *p); //p = 1
printf("r = %d\n\n", *r);//r = 2
p = r;
printf("a = %d\n", a); //a = 1
printf("p = %d\n", p); //p = -1133512972
printf("r = %d\n", r); //r = -1133512972
printf("p = %d\n", *p); //p = 2
printf("r = %d\n\n", *r);//r = 2
return 0;
}
此时a的值仍为1。
下面仅将 p = r 改为 *p = *r。
int main()
{int a = 1;
int b = 2;
int* p, * r;
p = &a;
r = &b;
printf("a = %d\n", a); //a = 1
printf("p = %d\n", p); //p = -1133513004
printf("r = %d\n", r); //r = -1133512972
printf("p = %d\n", *p); //p = 1
printf("r = %d\n\n", *r);//r = 2
*p = *r;
printf("a = %d\n", a); //a = 2
printf("p = %d\n", p); //p = -1133512972
printf("r = %d\n", r); //r = -1133512972
printf("p = %d\n", *p); //p = 2
printf("r = %d\n\n", *r);//r = 2
return 0;
}
此时a的值改变了。
由此得出结论p=r 是改变p的地址
*p = *r是改变p指向的那块地址里面的值
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧