什么是C中的char**?

mcc*_*t12 20 c

可能重复:
什么是双星?

我对C很新,并且遇到过这个声明

typedef char **TreeType
Run Code Online (Sandbox Code Playgroud)

我对typedef的作用非常了解,但我之前从未见过char**.我知道char*是一个char数组或类似于字符串.我不确定char**是否是2d char数组或者它是否是指向字符数组的指针.我环顾四周但却找不到它是什么.如果你能解释一下char**是什么或指向正确的方向,我将非常感激.

谢谢!:)

小智 19

从技术上讲,char*它不是一个数组,而是一个指向a的指针char.

同样,char**是指向a的指针char*.使它成为指向a的指针char.

C和C++都将幕后数组定义为指针类型,所以是的,这种结构很可能是chars的数组数组或字符串数​​组.


kev*_*sco 5

它是指向指针的指针,所以是的,在某种程度上它是一个2D字符数组.与a char*可以指示chars 数组的方式相同,a char**可以指示它指向char*s的数组.