2016-05-24 15 views
-1

私はCプログラミングの新機能です。私はとの差にかなり混乱している:main()内の一貫性のないargv宣言

int main (int argc, char **argv) 

int main (int argc, char *argv[]) 

彼らは、Cプログラミングでも同じですか?

+0

このスレッドは重複していません。メインのフォーマットについてのみ関心があります。実際にはこの問題についての 'char **'と 'char * []'の違いではありません。私はこれを再度開きます。 – Lundin

+0

@MohitJainそれは重複の可能性があるようです。しかし、そのスレッドは、主観的および意見に基づいた回答を与えるためのフレーズ(いくつかの古典的なものがあります)を使用しています。 – Lundin

+0

@ Lundinはい、質問の意図は同じです。そして、そこの答えは本質的にこの質問に当てはまります。 –

答えて

1

はい機能パラメータリストの一部である場合は同じです。

具体的には、char* argv[]は実際には配列の各項目がポインタである未知のサイズの配列を宣言しています。しかし、配列宣言が関数のパラメータリストの一部として現れると、それは静かに最初の要素へのポインタに置き換えられます。

char*のアラーの最初の要素はもちろんタイプchar*であるため、最初の要素へのポインタはchar**となります。

関連する問題