C++中的函数原型和函数定义
?
? ? ? ? 當函數聲明和定義出現在主函數之后的,我們需要在函數之前(在函數調用以前)加函數原型聲明。
? ? ? ? 函數原型聲明,指明 函數名字,返回類型,有幾個參數,這幾個參數是什么類型。不需要函數體。也不需要形式參數的名字(當然,寫了形式參數的名字也不算錯)。分號作原型聲明 結束符
? ? ? ? 當函數定義出現在主函數之前,就不需要函數原型聲明。
? ? ? ? 函數定義,必須有函數體。同時有 函數名字,返回類型,有形式參數的類型和名字。
? ? ? ? 二者主要區別是一個有函數體,描寫函數數據加工和返回的過程和細節。另一個只是簡單地說一下函數名字,返回類型,有幾個參數。
? ? ? ? 例如:
? ? ? ?
? ? ? ? ?函數原型類似函數定義時的函數頭,又稱函數聲明。函數聲明由函數返回類型、函數名和形參列表組成。這三個元素被稱為函數原型,函數原型描述了函數的接口。
? ? ? ? ?函數原型在c++中就是函數聲明,因為它定義了函數名、參數個數、參數類型和返回值。定義是函數聲明加上對這個函數的實現,即有花括號跟隨在后。
? ? ? 這個是聲明(原型):
int add(int, int);? ? ? ? 這個是定義:
int add(int a, int b) {return a + b; }? ? ? ?函數原型相當于函數調用規則.比如:
函數int fun(int a,int b) { int c; c=a+b; return c } 的原型是int fun(int a,int b);或者可以寫成int fun(int,int);? ? ? 這樣可以告訴調用者如何調用這個函數以及返回值是什么.
?
? ? ? ? 為了能使函數在定義之前就能被調用,C++規定可以先說明函數原型,然后就可以調用函數。函數定義可放在程序后面。 由于函數原型是一條語句,因此函數原型必須以分號結束。函數原型由函數返回類型、函數名和參數表組成,它與函數定義的返回類型、函數名和參數表必須一致。函數原型必須包含參數的標識符(對函數聲明而言是可選的);說明:系統標準函數并沒有在包含文件中定義,而只是提供了函數原型。在調用函數時,系統會正確地調用庫函數。 注意:函數原型與函數定義必須一致,否則會引起連接錯誤。
總結
以上是生活随笔為你收集整理的C++中的函数原型和函数定义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地图历史大反转!GISer如何查看历史影
- 下一篇: 山景BP1048使用记录