聲明跟定義的最大區(qū)別就是聲明后面有分號,而定義沒有,再者就是聲明函數(shù)中的形參可以只寫類型,寫參數(shù)名,但是定義一定要全寫
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設服務10余年為成都成都工商代辦小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營銷網(wǎng)站建設商城網(wǎng)站建設手機網(wǎng)站建設小程序網(wǎng)站建設網(wǎng)站改版,從內容策劃、視覺設計、底層架構、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設服務。
樓主可以這樣想,C語言中,無論是常量,變量,函數(shù),只有先定義才能使用的。在函數(shù)定義時,大腦要往一般的常量,變量定義的方向,切忌先不要想函數(shù)的別的。定義好后,把函數(shù)的定義先放一邊,不管它。
接著是函數(shù)聲明,大家都知道,C語言是有一個主函數(shù)main()和0或n個普通函數(shù)組成的。由于當代碼越長,用到的函數(shù)就越多,為了減少函數(shù)的混淆,所以要有個函數(shù)名,就像老師點名一樣,聲明一個函數(shù),就如點一個學生的名字。
總之,函數(shù)定義是系統(tǒng)要求的,不定義就錯誤,而函數(shù)聲明實際上不定義也行,但為了方便和減少錯誤,人為規(guī)定要聲明。
函數(shù)聲明是通知程序,該函數(shù)是存在的
函數(shù)定義是通知程序,該函數(shù)是什么(函數(shù)的實現(xiàn))
一般如果函數(shù)定義放在文件的最前面,那么可以不使用函數(shù)聲明,但不規(guī)范
所以,最好是使用函數(shù)聲明(也是放在文件的最前面,最好是在頭文件中聲明)
請采納,謝謝
C語言的函數(shù)定義格式是:
函數(shù)類型 函數(shù)名稱 ( 參數(shù)列表 )
{
//函數(shù)體
}
函數(shù)聲明,不是說明的格式是“函數(shù)定義格式”的第一行,然后加 “;”,即:
函數(shù)類型 函數(shù)名稱 ( 參數(shù)列表 );
特別地,在函數(shù)聲明中的參數(shù)列表中,不需要給出具體的變量名稱,但必須給出每個變量的類型。
從C語言編譯器的角度來看,函數(shù)聲明只是一種協(xié)議,它告訴了調用者在調用這個函數(shù)之前需要給他什么參數(shù),一般參數(shù)是通過寄存器或者壓棧的方式傳給被調用函數(shù)的,具體這些參數(shù)如何使用以及返回什么值到相應的寄存器里返回給調用者則是定義所描述的。
聲明就是聲明一下我用到的變量或者類型,變量或者類型的實際定義并不一定在本文件內。
給變量分配了空間才叫做定義,否則就是聲明
比如extern int a; 是聲明,a的定義是在別處,這里并沒有為a分配空間。
比如int a;即是定義
函數(shù)以及類型,聲明就是用函數(shù)或者類型的頭部來聲明
比如 struct x;聲明 struct x{};定義
比如 int fun();聲明 int fun(){}定義