為什麼有些main主程式會有三個變數在參數列上? 這個問題在書上有時會被提及,但是通常都不作說明,或要求你去查閱其他資料或使用手冊。在GNU C library第25章Program Basics中有詳細的說明,許多剛踏入Linux作程式的新手們都應該詳細閱讀此章的基礎知識。 其實 第三個參數就是系統環境變數 ,執行程式時由系統直接傳遞給程式,我們可以利用這個變數客制化我們的程式本身,得到多數程式放置的位置、常用的分隔符號、主系統檔案位置等等。在Linux系統上,有工具是依照這些環境變數來工作的,並依此變化出許多特殊的使用方法。 以下為 GNU C Library 25.1 的原文說明: 25.1 Program Arguments The system starts a C program by calling the function main. It is up to you to write a function named main—otherwise, you won't even be able to link your program without errors. In ISO C you can define main either to take no arguments, or to take two arguments that represent the command line arguments to the program, like this: int main (int argc, char *argv[]) The command line arguments are the whitespace-separated tokens given in the shell command used to invoke the program; thus, in `cat foo bar', the arguments are `foo' and `bar'. The only way a program can look at its command line arguments is via the arguments of main. If main doesn...