【C言語 argc,argv】
コマンドライン引数を表示する基本的な使い方

最終更新日 2025年11月15日

■この記事の概要

この記事では、C言語でコマンドライン引数を表示する方法を解説しています。argcargvの基本的な使い方です。


■argcとは?

〇argc=argument count
プログラムを呼び出したコマンド行の引数の個数
通常1以上の値。

規格では0もあり得るそうだが筆者はそのようなコンパイル環境を知らないので、
この記事ではargcが1以上の場合を説明します。

■argvとは?

〇argv=argument vector
引数文字列を指すポインタの配列

■argv[0]とは?

プログラムを起動したコマンド名を指している。

■argv[argc]とは?

通常NULLポインタが入っている。

■コマンドライン引数表示

//コマンド行の引数を端末に表示する  
#include <stdio.h>
int main(int argc,char *argv[]){
    //argc
    printf("argc=%d\n",argc);
    
    //argv
    for(int i = 0; i < argc; i++){
        printf("argv[%d]=%s\n",i,argv[i]);
    }
    //argv[0]
    printf("argv[0]=%s\n",argv[0]);
    //argv[argc]
    if(argv[argc] == NULL){
        printf("argv[argc]=NULL\n");
    }else{
        puts("ここには来ない");
    }   
}
./a.out  1 22 333 4444 55555
argc=6
argv[0]=./a.out
argv[1]=1
argv[2]=22
argv[3]=333
argv[4]=4444
argv[5]=55555
argv[0]=./a.out
argv[argc]=NULL

参考:

comp.lang.c FAQ list ·Question 20.3