指针和双指针有什么区别
为什么要使用第二个?
char *a; //Points to a char
char **b; //Why doesn't this also point char
答案 0 :(得分:2)
“双指针”只是指向另一个指针的指针。在您的示例中,指针指向指向char的指针。
EDIT 实际上已经回答here。
答案 1 :(得分:1)
首先,让我告诉你,双指针不是指向指针的指针的正确命名法。有时,它们可能意味着不同的事物(双指针==指向double
的指针)并产生混淆。
指针指向变量或函数。现在,指针本身是变量,因此可以有另一个指向指针变量的指针。后者称为指向指针。
所以,在
的情况下char *a;
a
是一个指向char
的指针。
因此,
char **b;
b
是一个指向char *
的指针,因此它们是不同的。
你可以写
b = &a;
答案 2 :(得分:0)
b
是指向char
指针的指针。比大多数双指针更常见,因为char *
通常用于引用字符串,而char **
将指向该指针。