聲明跟定義的最大區別就是聲明后面有分號,而定義沒有,再者就是聲明函數中的形參可以只寫類型,寫參數名,但是定義一定要全寫
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業 ”的價值觀,專業網站建設服務10余年為成都成都工商代辦小微創業公司專業提供成都企業網站定制營銷網站建設商城網站建設手機網站建設小程序網站建設網站改版,從內容策劃、視覺設計、底層架構、網頁布局、功能開發迭代于一體的高端網站建設服務。
樓主可以這樣想,C語言中,無論是常量,變量,函數,只有先定義才能使用的。在函數定義時,大腦要往一般的常量,變量定義的方向,切忌先不要想函數的別的。定義好后,把函數的定義先放一邊,不管它。
接著是函數聲明,大家都知道,C語言是有一個主函數main()和0或n個普通函數組成的。由于當代碼越長,用到的函數就越多,為了減少函數的混淆,所以要有個函數名,就像老師點名一樣,聲明一個函數,就如點一個學生的名字。
總之,函數定義是系統要求的,不定義就錯誤,而函數聲明實際上不定義也行,但為了方便和減少錯誤,人為規定要聲明。
函數聲明是通知程序,該函數是存在的
函數定義是通知程序,該函數是什么(函數的實現)
一般如果函數定義放在文件的最前面,那么可以不使用函數聲明,但不規范
所以,最好是使用函數聲明(也是放在文件的最前面,最好是在頭文件中聲明)
請采納,謝謝
C語言的函數定義格式是:
函數類型 函數名稱 ( 參數列表 )
{
//函數體
}
函數聲明,不是說明的格式是“函數定義格式”的第一行,然后加 “;”,即:
函數類型 函數名稱 ( 參數列表 );
特別地,在函數聲明中的參數列表中,不需要給出具體的變量名稱,但必須給出每個變量的類型。
從C語言編譯器的角度來看,函數聲明只是一種協議,它告訴了調用者在調用這個函數之前需要給他什么參數,一般參數是通過寄存器或者壓棧的方式傳給被調用函數的,具體這些參數如何使用以及返回什么值到相應的寄存器里返回給調用者則是定義所描述的。
聲明就是聲明一下我用到的變量或者類型,變量或者類型的實際定義并不一定在本文件內。
給變量分配了空間才叫做定義,否則就是聲明
比如extern int a; 是聲明,a的定義是在別處,這里并沒有為a分配空間。
比如int a;即是定義
函數以及類型,聲明就是用函數或者類型的頭部來聲明
比如 struct x;聲明 struct x{};定義
比如 int fun();聲明 int fun(){}定義
本文標題:c語言函數的定義與聲明,c語言函數的聲明
新聞來源:http://vcdvsql.cn/article44/hsedee.html
成都網站建設公司_創新互聯,為您提供網站改版、微信公眾號、定制開發、商城網站、App設計、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯