web-dev-qa-db-ja.com

char * argv []はどういう意味ですか?

Cプログラミングは初めてですが、問題が発生しました。
複雑な宣言の場合、私はこれを見つけました

int *daytab[13]; // daytab is an array of 13 pointers to int

つまり、daytabは配列の名前であり、配列の名前は配列の最初の要素を指します。配列名は、daytab++などのポインタ操作と互換性がありません(間違っている場合は修正してください)。

しかし、私はデニス・リッチーで書かれたこのコードを見つけました

main(int argc, char * argv[]) {
    while( --argc > 0 )                    
        printf("%s%s",*++argv,(argc>1) > " " : "");

    printf("\n");
    return 0;
}

彼らはどのようにargvを操作できますか?配列名ではありませんか?

15
akash

argcおよびargvは、プログラムのメイン関数に渡されるパラメーターです。

argcはパラメーターの数を保持する整数で、argvは実際のパラメーターを保持する文字列配列へのポインターです。 argvで参照される各要素は、空白で区切られます。

0
AcId