C90 標(biāo)準(zhǔn)新增了函數(shù)原型,舊式的編譯器可能無法識別(稍后我們將介紹,如果使用這種編譯器應(yīng)該怎么做)。函數(shù)原型是一種聲明形式,告知編譯器正在使用某函數(shù),因此函數(shù)原型也被稱為函數(shù)聲明(function declaration)。函數(shù)原型還指明了函數(shù)的屬性。
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的河南網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
早期的C語言支持一種更簡單的函數(shù)聲明,只需指定返回類型,不用描述參數(shù):
void butler();
早期的C代碼中的函數(shù)聲明就類似上面這樣,不是現(xiàn)在的函數(shù)原型。C90、C99 和C11 標(biāo)準(zhǔn)都承認(rèn)舊版本形式,但是也表明了會逐漸淘汰這種過時的寫法。如果要使用以前寫的 C代碼,就需要把舊式聲明轉(zhuǎn)換成函數(shù)原型。本書在后面的章節(jié)會繼續(xù)介紹函數(shù)原型的相關(guān)內(nèi)容。
參考文獻:C primer plus 第六版中文版
聲明與定義的區(qū)別:
函數(shù)的聲明與函數(shù)的定義形式上十分相似,但是二者有著本質(zhì)上的不同。聲明是不開辟內(nèi)存的,僅僅告訴編譯器,要聲明的部分存在,要預(yù)留一點空間。定義則需要開辟內(nèi)存。
函數(shù)的定義
函數(shù)的定義是一個完整的函數(shù)單元,包含函數(shù)類型、函數(shù)名、形參及形參類型、函數(shù)體等。在程序中,函數(shù)的定義只能有一次。函數(shù)首部與花括號間不加分號。
函數(shù)的聲明
函數(shù)聲明只是對編譯系統(tǒng)的一個說明:函數(shù)聲明是對定義的函數(shù)的返回值的類型說明,以通知系統(tǒng)在本函數(shù)中所調(diào)用的函數(shù)是什么類型。不包含函數(shù)體(或形參),調(diào)用幾次該函數(shù)就應(yīng)在各個主調(diào)函數(shù)中做相應(yīng)聲明。函數(shù)聲明是一個說明語句,必須以分號結(jié)束。
拓展資料:
C語言編譯系統(tǒng)是由上往下編譯的.一般被調(diào)函數(shù)放在主調(diào)函數(shù)后面的話,前面就該有聲明.不然C由上往下的編譯系統(tǒng)將無法識別。正如變量必須先聲明后使用一樣,函數(shù)也必須在被調(diào)用之前先聲明,否則無法調(diào)用!函數(shù)的聲明可以與定義分離,要注意的是一個函數(shù)只能被定義一次,但可以聲明多次。
函數(shù)聲明由函數(shù)返回類型、函數(shù)名和形參列表組成。形參列表必須包括形參類型,但是不必對形參命名。這三個元素被稱為函數(shù)原型,函數(shù)原型描述了函數(shù)的接口。定義函數(shù)的程序員提供函數(shù)原型,使用函數(shù)的程序員就只需要對函數(shù)原型編輯即可。
兩者有些差異:
原型(Prototype)通常用在庫函數(shù)的說明中,是給開發(fā)人員看的;
聲明(Declaration)也是對函數(shù)的說明,出現(xiàn)在頭文件中或程序文件中,是給編譯器“看的”;
文章標(biāo)題:c語言聲明和函數(shù)原型區(qū)別,c語言聲明和函數(shù)原型區(qū)別在哪
標(biāo)題URL:http://jinyejixie.com/article40/hsieeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、動態(tài)網(wǎng)站、用戶體驗、網(wǎng)頁設(shè)計公司、軟件開發(fā)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)