29

重複の可能性:
ダブル スターとは何ですか?

私はCにかなり慣れていないので、このステートメントに出くわしました

typedef char **TreeType

typedef が何をするかはよく知っていますが、char** を見たことはありません。char* は char 配列であるか、文字列に似ていることを知っています。char** が 2 次元の char 配列なのか、それとも文字配列へのポインターなのかはわかりません。私は周りを見回しましたが、それが何であるかを見つけることができません。char** とは何かを説明するか、正しい方向に向けていただければ幸いです。

ありがとう!:)

4

3 に答える 3

27

技術的には、char*は配列ではなく、 へのポインタcharです。

同様に、char**へのポインタchar*です。へのポインターへのポインターにしcharます。

C と C++ は両方とも、舞台裏で配列をポインター型として定義しているため、おそらく、この構造体はchars の配列の配列、または文字列の配列です。

于 2012-11-13T00:31:05.587 に答える
6

これはポインターへのポインターなので、ある意味では 2D 文字配列です。char*a が s の配列を示すのと同じように、aはchars の配列char**を指すことを示すことができますchar*

于 2012-11-13T00:22:40.973 に答える
3

まあ、char *charへのポインタポイントを意味し、char配列とは異なります。

char amessage[] = "this is an array";  /* define an array*/
char *pmessage = "this is a pointer"; /* define a pointer*/

そして、char **はcharポインタへのポインタポイントを意味します。

ポインタと配列の詳細については、いくつかの本を見ることができます。

于 2012-11-13T00:33:05.283 に答える