何かが宣言されている場合char、それは (通常) 8 ビットの文字値であることを意味します。
何かが宣言されている場合、それはchar*へのポインタであることを意味しますchar。
何かが宣言されている場合、それはchar**へのポインターへのポインターであることを意味しますchar。
演算子を式のポインターに適用する*と、「逆参照」になり、ポインターが指す値が返されます。*おそらく複数回適用する場合、適用先はポインターへのポインターです。
上記の場合、char **argvはargvパラメーターの宣言であり、 へのポインターへのポインターとして定義されますchar。
理解すべき重要なことが他に 2 つあります。まず、ポインタは、単一の値ではなく、配列sometype*へのポインタである場合もあれば、そうでない場合もあります。(ポインタがどのように設定されたかを調べる以外に、これが事実かどうかを知る方法はありません。)sometypesometype
第 2 に、値の配列はcharC で「文字列」を表現する通常の方法であるため、char*多くの場合、文字列をアドレス指定します。
帰納法により、文字列へのポインターの配列へのポインターでchar** ある可能性があります。