C/C++ 中函式原型的目的是什麼?


接下來,我們將瞭解如何在 C 或 C++ 中使用函式原型的目的。函式原型用於告知編譯器有關一個函式引數需要的引數數量和資料型別,它還告知編譯器的函式返回型別。編譯器會根據這些資訊在呼叫函式之前對函式簽名進行交叉檢查。如果沒有提及函式原型,則該程式可能會編譯時帶有一些警告,有時還會生成一些奇怪的輸出。

如果某個函式在某處呼叫,但其函式體尚未定義,即在當前行之後定義,則可能產生問題。編譯器無法找到該函式及其簽名。在這種情況下,我們需要函式原型。如果之前的函式已被定義,則我們不需要原型。

示例程式碼

#include<stdio.h>
main() {
   function(50);
}
void function(int x) {
   printf("The value of x is: %d", x);
}

輸出

The value of x is: 50

這顯示了輸出,但會顯示以下警告

[Warning] conflicting types for 'function'
[Note] previous implicit declaration of 'function' was here

現在使用函式原型,它可以毫無問題地執行。

示例程式碼

#include<stdio.h>
void function(int); //prototype
main() {
   function(50);
}
void function(int x) {
   printf("The value of x is: %d", x);
}

輸出

The value of x is: 50

更新於: 2019 年 7 月 30 日

6K+次瀏覽

啟動你的職業

完成課程獲得認證

開始學習
廣告