你問的應(yīng)該是C語言吧。當(dāng)子函數(shù)在寫在主函數(shù)的前面的時候,是不需要單獨聲明函數(shù)的,因為編譯系統(tǒng)會逐行翻譯。當(dāng)主函數(shù)書寫在子函數(shù)前面的時候,就要加函數(shù)聲明。
創(chuàng)新互聯(lián)是一家專業(yè)提供溧陽企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都做網(wǎng)站、HTML5、小程序制作等業(yè)務(wù)。10年已為溧陽眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。
c); }如果函數(shù)在調(diào)用函數(shù)的函數(shù)之后定義,為了通知編譯程序要調(diào)用函數(shù)的格式,需要在調(diào)用函數(shù)的函數(shù)前添加函數(shù)的聲明。
函數(shù)的入口在main(),程序從上至下執(zhí)行的,如果你的函數(shù)在main()之后定義并且沒有聲明,執(zhí)行的時候編譯器會找不到定義而編譯不過。
編譯器是按順序編譯的,如果有以下情況:void a(){ b();//編譯器在這里還未編譯b(),所以此時函數(shù)b是不存在的。} void b(){} 打個比方 int a=b; //報錯 int b=0;其實是一個道理。變量只能先定義再使用。
如果函數(shù)或者全局變量定義語句放在了后面,前面需要使用,就要聲明。
不是,如果你把自定義函數(shù)寫在主函數(shù)前面的話,就是說寫在開始的話,就可不用聲明了。否則聲明是必需的。
可能有些不聲明也能通過,但效率極低,最好先聲明。C語言是一門通用計算機編程語言,應(yīng)用廣泛。
所以函數(shù)調(diào)用不一定需要先聲明,當(dāng)函數(shù)定義調(diào)用函數(shù)之后需才要先申明。
有兩個例子可以很好的說明為什么要這樣做:1,遞歸調(diào)用,即某個函數(shù)可能需要調(diào)用自身,而在調(diào)用時該函數(shù)的定義必然還沒有完成;2,函數(shù)指針的使用,或者說callback機制,更是在調(diào)用時對該實際傳入函數(shù)的定義一無所知。
由于程序是順序執(zhí)行,如果沒有提前聲明,程序會找不到函數(shù),于是報錯。聲明的主要作用是告訴程序我下面要用到這個函數(shù),程序會去找這個函數(shù)的定義,然后調(diào)用。
不對。C語言中函數(shù)可以定義在main()函數(shù)外面,如下列代碼中定義的swap函數(shù),就是在main()函數(shù)外面。
所以函數(shù)調(diào)用不一定需要先聲明,當(dāng)函數(shù)定義調(diào)用函數(shù)之后需才要先申明。
可能有些不聲明也能通過,但效率極低,最好先聲明。C語言是一門通用計算機編程語言,應(yīng)用廣泛。
代碼的運行是自上到下的。如果你的函數(shù)在被調(diào)用的地方的上面。那么你就可以不需要聲明。反之,如果你的函數(shù)在調(diào)用處的下面。
本文名稱:c語言函數(shù)一定聲明么 c語言函數(shù)中必須有的函數(shù)
本文URL:http://chinadenli.net/article11/degjedd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、網(wǎng)站排名、用戶體驗、網(wǎng)站設(shè)計、品牌網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)
聲明:本網(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)