選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C 函式宣告與定義


函式宣告與定義

您已經從前面的章節中學到,可以這樣建立和呼叫函式:

示例

// 建立一個函式
void myFunction() {
  printf("I just got executed!");
}

int main() {
  myFunction(); // 呼叫函式
  return 0;
}
自己動手試一試 »

函式包含兩個部分:

  • 宣告: 函式的名稱、返回型別和引數(如果有)。
  • 定義: 函式體(要執行的程式碼)。
void myFunction() { // 宣告
  // 函式體(定義
}

為了程式碼最佳化,建議將函式的宣告和定義分開。

您經常會看到 C 程式在 main() 函式上方有函式宣告,在 main() 函式下方有函式定義。

這樣可以使程式碼組織更好,更易於閱讀。

示例

// 函式宣告
void myFunction();

// 主函式
int main() {
  myFunction();  // 呼叫函式
  return 0;
}

// 函式定義
void myFunction() {
  printf("I just got executed!");
}
自己動手試一試 »

關於引數

如果我們使用“函式引數”章節中關於引數和返回值的示例:

示例

int myFunction(int x, int y) {
  return x + y;
}

int main() {
  int result = myFunction(5, 3);
  printf("Result is = %d", result);
  return 0;
}
// Outputs 8 (5 + 3)
自己動手試一試 »

最好這樣寫:

示例

// 函式宣告
int myFunction(int x, int y);

// 主函式
int main() {
  int result = myFunction(5, 3); // 呼叫函式
  printf("Result is = %d", result);
  return 0;
}

// 函式定義
int myFunction(int x, int y) {
  return x + y;
}
自己動手試一試 »

函式呼叫其他函式

只要先宣告函式,使用函式呼叫其他函式也是可能的。

示例

使用一個函式呼叫另一個函式

// 宣告兩個函式:myFunction 和 myOtherFunction
void myFunction();
void myOtherFunction();

int main() {
  myFunction(); // 呼叫 myFunction(來自 main)
  return 0;
}

// 定義 myFunction
void myFunction() {
  printf("Some text in myFunction\n");
  myOtherFunction(); // 呼叫 myOtherFunction(來自 myFunction)
}

// 定義 myOtherFunction
void myOtherFunction() {
  printf("Hey! Some text in myOtherFunction\n");
}
自己動手試一試 »


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援