【发布时间】:2016-09-25 02:35:40
【问题描述】:
指针和双指针有什么区别
为什么要使用第二个?
char *a; //Points to a char
char **b; //Why doesn't this also point char
【问题讨论】:
指针和双指针有什么区别
为什么要使用第二个?
char *a; //Points to a char
char **b; //Why doesn't this also point char
【问题讨论】:
“双指针”只是指向另一个指针的指针。在您的示例中,指向指向字符的指针的指针。
编辑 其实这是回答here。
【讨论】:
首先,让我告诉你,双指针不是指向指针的指针的正确命名法。有时,它们可能意味着不同的东西(双指针 == 指向 double 的指针)并造成混淆。
指针指向变量或函数。现在,指针本身是一个变量,所以可以有另一个指针指向指针变量。后者称为指针指针。
所以,如果
char *a;
a 是一个指向char 的指针。
因此,
char **b;
b 是一个指向char * 的指针,因此它们是不同的。
你可以写
b = &a;
【讨论】:
b 是一个指向char 的指针。比大多数双指针更常见,因为char * 通常用于引用字符串,而char ** 将指向它。
【讨论】: