为什么我们不能将指针的地址存储在另一个指针中?指针只是一个特殊类型的变量,它有一些地址,但为什么我不能将该地址存储到另一个指针?
int main()
{
int * ptr;
int * q;
q = &ptr;
}
Run Code Online (Sandbox Code Playgroud)
为什么这段代码错了?
Mik*_*our 12
您可以将指针的地址 - 或任何其他对象类型 - 存储在另一个指针中.但你必须得到正确的类型; 你试图将指针的地址存储在指针中int,而不是指向指针的指针.
int ** q = &ptr; // pointer to pointer to int
Run Code Online (Sandbox Code Playgroud)