C指针vs指向指针的指针 - 正确的用法是什么?

时间:2016-05-26 22:10:45

标签: c pointers

指针和双指针有什么区别

为什么要使用第二个?

char *a; //Points to a char
char **b; //Why doesn't this also point char

3 个答案:

答案 0 :(得分:2)

“双指针”只是指向另一个指针的指针。在您的示例中,指针指向指向char的指针。

EDIT 实际上已经回答here

答案 1 :(得分:1)

首先,让我告诉你,双指针不是指向指针的指针的正确命名法。有时,它们可能意味着不同的事物(双指针==指向double 的指针)并产生混淆。

指针指向变量或函数。现在,指针本身变量,因此可以有另一个指向指针变量的指针。后者称为指向指针。

所以,在

的情况下
char *a;

a是一个指向char的指针。

因此,

char **b;

b是一个指向char *的指针,因此它们是不同的。

你可以写

b = &a;

答案 2 :(得分:0)

b是指向char指针的指针。比大多数双指针更常见,因为char *通常用于引用字符串,而char **将指向该指针。