
- C 程式設計教程
- C - 首頁
- C 語言基礎
- C - 概述
- C - 特性
- C - 歷史
- C - 環境搭建
- C - 程式結構
- C - Hello World
- C - 編譯過程
- C - 註釋
- C - 詞法單元
- C - 關鍵字
- C - 識別符號
- C - 使用者輸入
- C - 基本語法
- C - 資料型別
- C - 變數
- C - 整數提升
- C - 型別轉換
- C - 型別強制轉換
- C - 布林型別
- C 語言中的常量和字面量
- C - 常量
- C - 字面量
- C - 轉義序列
- C - 格式說明符
- C 語言中的運算子
- C - 運算子
- C - 算術運算子
- C - 關係運算符
- C - 邏輯運算子
- C - 位運算子
- C - 賦值運算子
- C - 一元運算子
- C - 自增和自減運算子
- C - 三元運算子
- C - sizeof 運算子
- C - 運算子優先順序
- C - 其他運算子
- C 語言中的決策
- C - 決策
- C - if 語句
- C - if...else 語句
- C - 巢狀 if 語句
- C - switch 語句
- C - 巢狀 switch 語句
- C 語言中的迴圈
- C - 迴圈
- C - while 迴圈
- C - for 迴圈
- C - do...while 迴圈
- C - 巢狀迴圈
- C - 無限迴圈
- C - break 語句
- C - continue 語句
- C - goto 語句
- C 語言中的函式
- C - 函式
- C - 主函式
- C - 按值呼叫函式
- C - 按引用呼叫函式
- C - 巢狀函式
- C - 可變引數函式
- C - 使用者自定義函式
- C - 回撥函式
- C - return 語句
- C - 遞迴
- C 語言中的作用域規則
- C - 作用域規則
- C - 靜態變數
- C - 全域性變數
- C 語言中的陣列
- C - 陣列
- C - 陣列的特性
- C - 多維陣列
- C - 將陣列傳遞給函式
- C - 從函式返回陣列
- C - 可變長陣列
- C 語言中的指標
- C - 指標
- C - 指標和陣列
- C - 指標的應用
- C - 指標運算
- C - 指標陣列
- C - 指標到指標
- C - 將指標傳遞給函式
- C - 從函式返回指標
- C - 函式指標
- C - 指向陣列的指標
- C - 指向結構體的指標
- C - 指標鏈
- C - 指標與陣列
- C - 字元指標和函式
- C - 空指標
- C - void 指標
- C - 野指標
- C - 解引用指標
- C - 近、遠和巨型指標
- C - 指標陣列的初始化
- C - 指標與多維陣列
- C 語言中的字串
- C - 字串
- C - 字串陣列
- C - 特殊字元
- C 語言中的結構體和聯合體
- C - 結構體
- C - 結構體和函式
- C - 結構體陣列
- C - 自引用結構體
- C - 查詢表
- C - 點 (.) 運算子
- C - 列舉 (或 enum)
- C - 結構體填充和打包
- C - 巢狀結構體
- C - 匿名結構體和聯合體
- C - 聯合體
- C - 位域
- C - Typedef
- C 語言中的檔案處理
- C - 輸入和輸出
- C - 檔案 I/O (檔案處理)
- C 預處理器
- C - 預處理器
- C - 預處理指令
- C - 預處理器運算子
- C - 宏
- C - 標頭檔案
- C 語言中的記憶體管理
- C - 記憶體管理
- C - 記憶體地址
- C - 儲存類別
- 其他主題
- C - 錯誤處理
- C - 可變引數
- C - 命令執行
- C - 數學函式
- C - static 關鍵字
- C - 隨機數生成
- C - 命令列引數
- C 程式設計資源
- C - 問答
- C - 快速指南
- C - 速查表
- C - 有用資源
- C - 討論
C - 主函式
C 語言中的 main() 函式
C 語言中的 main() 函式是任何程式的入口點。程式執行從 main() 函式 開始。它旨在執行程式的主要處理並清理程式分配的任何資源。在 C 程式碼中,可能存在任意數量的函式,但必須有一個 main() 函式。無論它在程式碼中的位置如何,它都是第一個執行的函式。
語法
以下是 C 語言 中 main() 函式的語法:
int main(){ //one or more statements; return 0; }
語法解釋
作為其語法的一部分,函式有一個名稱,該名稱遵循形成識別符號的規則(以字母或下劃線開頭,並且包含字母、數字或下劃線)。名稱後面跟著一個括號。通常,main() 函式定義為沒有引數,儘管它可能有 argv 和 argv 引數來接收來自命令列的值。
main() 函式的有效/不同簽名
main() 函式的簽名(原型)如下:
int main() { . . return 0; }
或者
int main(void){ . . return 0; }
或者
int main(int argc, char *argv[]){ . . return 0; }
main() 函式示例
以下示例演示了 main() 函式
#include <stdio.h> int main() { // Write code from here printf("Hello World"); return 0; }
關於 main() 函式的重要事項
- C 程式必須具有 main() 函式。
- main 不是 C 關鍵字。
它被歸類為 使用者定義函式,因為它的主體不是預先確定的,它取決於程式的處理邏輯。
按照慣例,int 是 main() 的返回型別。main() 函式體中的最後一個語句返回 0,以指示函式已成功執行。任何非零返回值都表示失敗。 - 一些舊的 C 編譯器允許您使用 void 返回型別定義 main() 函式。
- 但是,這被認為是非標準的,不建議使用。
- 與其他函式相比,main() 函式
- 不能宣告為內聯。
- 不能宣告為靜態。
- 不能獲取其地址。
- 不能從您的程式中呼叫。
main() 在 C 中是如何工作的?
程式的執行從 main() 函式開始,因為它是程式的入口點,它開始執行其內部編寫的語句。源程式中的其他函式被定義為執行某些任務。main 函式可以呼叫任何這些函式。當 main 呼叫另一個函式時,它將執行控制權傳遞給該函式,並選擇性地傳遞必要的引數數量和型別,以便執行從被呼叫函式中的第一個語句開始。當執行 return 語句或到達函式末尾時,被呼叫函式將控制權返回給 main。請注意,當其返回型別為 int 時,return 語句隱式地存在於最後一個語句中。
程式通常在從 main 返回或到達 main 的末尾時停止執行,儘管由於各種原因,它可能在程式中的其他點終止。例如,當檢測到某些錯誤條件時,您可能希望強制終止程式。為此,您可以使用 exit 函式。
在 main() 函式中使用 exit()
C exit() 函式 是一個標準庫函式,用於終止呼叫程序。使用 exit(0) 表示沒有錯誤,使用 exit(1) 表示程式由於遇到錯誤而退出。
示例
#include <stdio.h> #include <stdlib.h> int add(int, int); int main (){ int i; for ( i = 1; i<=5; i++){ if ( i == 3 ){ printf (" \n exiting .."); exit(0); } else printf (" \n Number is %d", i); } return 0; }
輸出
Number is 1 Number is 2 exiting ..
帶 main() 的命令列引數
通常,main() 函式定義為沒有任何引數。但是,您可以使用引數定義 main() 以使其接受來自命令列的值。在這種型別的用法中,main() 函式定義如下:
語法
以下是帶有 命令列引數 的 main() 函式的語法
int main(int argc, char *argv[]){ . . return 0; }
引數定義
引數定義如下:
argc - 第一個引數是一個整數,包含 argv 中後續引數的計數。argc 引數始終大於或等於 1。
argv - 第二個引數是一個以 null 結尾的字串陣列,表示使用者為程式輸入的命令列引數。按照慣例,argv[0] 是呼叫程式的命令。argv[1] 是第一個命令列引數。來自命令列的最後一個引數是 argv[argc - 1],而 argv[argc] 始終為 NULL。
示例:使用帶命令列引數的 main() 函式
考慮以下程式以瞭解命令列引數。
#include <stdio.h> #include <stdlib.h> int add(int, int); int main (int argc, char *argv[]){ int x, y, z; if (argc<3){ printf("insufficient arguments"); } else{ x = atoi(argv[1]); y = atoi(argv[2]); z = x+y; printf("addition : %d", z); } return 0; }
只需編譯並構建程式為 test.c,不要從您編輯和編譯的 IDE 中執行。轉到命令提示符並按如下方式執行程式:
C:\Users\mlath>test 10 20 addition : 30
在本章中,我們學習了在 C 中定義 main() 函式的重要性及其語法。任何 C 程式都必須具有 main() 函式。按照慣例,它應該返回 0 以指示執行成功。您還可以為 main() 函式定義引數,它們可以從命令列傳遞。