程式基礎架構
main
簡介
main
是 C 語言程式的起點與終點。
在正常情況下,任何可獨立執行的程式皆是由 main
的第一行作為執行起點,return
作為執行終點。
如下方範例所示:
int main()
{
// 將會被執行的程式內容
return 0;
// 此處的內容將不會被執行
}
小知識:
return 0
所代表的意義為「程式沒有錯誤地被執行完畢」;如果程式執行結果發生錯誤或執行結果非預期,則可以返回一個非 0 值供程式執行者參考。小知識:在 C 語言標準中,
return 0
是可以被省略的,然而出於習慣與過去部份編譯器支援問題,大部份的程式設計師都會在main
的末尾加上return 0
。注意:C 語言中,每一個指令最後都需要以
;
作為結尾。
格式
在標準 C 語言中,main
具有多種格式
// 此程式碼無法被正常編譯
int main() {}
int main(int argc, char *argv[]) {}
因為第二種格式涉及較後面的教材內容,故此處暫不說明。
就標準 C 語言而言,除以上範例的兩種 main
格式外,並無其它合法的 main
格式。
謬誤:在部份書籍中,使用了
void main()
作為main
的格式,但這是錯誤的。C++ 之父 Bjarne Stroustrup 在其個人網頁的 FAQ 中寫道 "The definitionvoid main() { /* ... */ }
is not and never has been C++, nor has it even been C."小知識:部份作業系統提供
main
中有第三個及第四個參數,但此類程式設計方式受限於作業系統,故在此不列入討論。
標頭檔 stdio.h
C 語言中,資料輸入及輸出功能通常由外部函式達成。
因為資料的輸入及輸出通常牽涉作業系統底層實現,且具有平台差異,故在 C 語言中為了統一各項輸入及輸出的操作,語言本身內建一個檔頭檔 stdio.h
,用來操作基礎的輸入及輸出。(stdio,Standard Input and Output,標準輸入輸出)
使用方法如下所示:
#include <stdio.h>
int main()
{
return 0;
}
函式 puts()
在引入 stdio.h
之後,我們可以利用 puts()
函式達成輸出資料的功能。
# include <stdio.h>
int main()
{
puts("Hello World");
return 0;
}
建立這樣的函式之後,我們可以預期在標準輸出裝置(在個人電腦上,標準輸出裝置為螢幕)上會出現 Hello World
這串文字。