【发布时间】:2016-04-21 23:02:38
【问题描述】:
例如,当我有什么不同时,
int var1, *ptr;
ptr = &var1; // the pointer ptr copies the address of var1, hence ptr points to var1?
int var1, *ptr;
ptr = var1; // ptr points to var1, but does not have the address of var1, so can not change the value of address var1?
int *var1, *ptr;
*ptr = *var1; // copy value of var1 into the location pointed to by ptr?
我的 cmets 正确吗?
【问题讨论】:
-
int var1, *ptr; ptr = var1;格式不正确。编译器应该抱怨。 -
*ptr = *var1;也是格式错误的:var1不能应用* -
不同之处在于只有第一个格式正确。其他两个不会编译。您对第一个示例的评论会更好,例如“ptr 的值被分配了 var1 的地址,因此 ptr 指向 var1”。第二个和第三个例子的cmets都不正确,可以替换为“赋值无效”。
标签: c++ pointers variable-assignment