目次
1. はじめに
僕と同じC言語初学者で「コマンドライン引数」という言葉をはじめて見た/聞いたという人のために, コマンドライン, 引数, コマンドライン引数とは何か, 今の自分の理解を書いてみます.
僕の作業環境はMacでVSコードをメインに使っています.
たまに書いたコードのチェックなどでTerminalかiTermを使います.
コーディングが初めてでマックユーザーの方は, まず
「アプリケーション」->「ユーティリティ」->「ターミナル」
を開いてみてください.
VSコードはこちら
2. 用語解説
2.1. [引数 ひきすう (argument: アーギュメント)]
関数に渡して, プログラムの結果に影響を及ぼすように作用する数 (文字列も含む. 人間が画面を見た時に'A''+'などの文字として表示されているものも, コンピューターにとってはすべて数). 例えば
y = F(x, z)
という関数があるとき, xとzが関数F()にとっての引数.
yは関数処理の結果の値.
「イチゴ (x) と バナナ (z) を ミキサー (F) にかけて いちごバナナスムージー (y) を作る」
みたいな感じです。
以下のwrite()関数のばあい, '1', "12345", '5'の3つが引数です.
write(1, "12345", 5);
2.2. [コマンドライン (command line)]
ターミナル(Terminal)上でコマンドを入力できる行.
MacでVSコードやTerminalなどを使っている場合は, "ユーザー名 + %"と表示されている後になんらかの文字を入力します↓
user %
2.3. [コマンドライン引数 (command line argument)]
コマンドラインに入力された引数 (argument). "gcc"や"touch", "ls"などのコマンド, それに付け加えられたフラグやオプション("-Wall", "-r", "-l"ほか)や操作するファイル名, ディレクトリ名など, コマンドラインに入力したすべての値を指すようです.
user % gcc test.c -o test
↑ '%' の後にあるものすべてコマンドライン引数
3. おまけ
C言語のメイン関数へのコマンドライン引数 argc, argv について興味ある方はよかったらこちらをご覧ください。