我想知道是否有其他方法来将指针指向的地址赋值给它。例如,通常的方法是:
这两种方法都等同吗?我有点困惑,因为我一直认为*ptr给出的是a的值,而不是地址。请问有人可以解释一下吗?谢谢。
int a = 10;
int *ptr;
ptr = &a;
但是在某些地方,我看到它被声明为:
int *ptr = &a;
这两种方法都等同吗?我有点困惑,因为我一直认为*ptr给出的是a的值,而不是地址。请问有人可以解释一下吗?谢谢。
int *ptr;
时,你声明了一个指针。当写下 *ptr 时,你赋值给了一个值。它是声明改变了 * 运算符的含义。 - loginnint a = 10, *ptr = &a;
:) 它们是一样的东西。 - Elias Van Ootegemint *ptr;
,然后进行赋值ptr = &a;
2)第二个:int *ptr = &a;
这里同时进行了声明和初始化。 - Michi