C語言在相同的.c文件中一定不能定義名稱相同的函數(shù),即使是重載的,因?yàn)镃語言不支持重載,這樣鏈接的時(shí)候會(huì)報(bào)錯(cuò)。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供邵東網(wǎng)站建設(shè)、邵東做網(wǎng)站、邵東網(wǎng)站設(shè)計(jì)、邵東網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、邵東企業(yè)網(wǎng)站模板建站服務(wù),十年邵東做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
endif 這套條件編譯是為了防止同一個(gè).c文件中包含多個(gè)相同.h文件的(比如有一個(gè).c文件包含了a.h,a.h又包含了b.h,那么當(dāng)你在這個(gè).c文件中同時(shí)包含了a.h和b.h時(shí),因?yàn)橛猩厦娴臈l件編譯的關(guān)系而不會(huì)出錯(cuò))。
在c語言中出現(xiàn)核心重復(fù)原因如下。頭文件的作用在于編譯時(shí),會(huì)在#include位置處展開,有多個(gè).c文件include同一個(gè)頭文件,頭文件編寫時(shí)不進(jìn)行處理,出現(xiàn)重復(fù)定義是不可避免的。尤其是當(dāng)一個(gè)項(xiàng)目分成多個(gè)模塊的時(shí)。
多個(gè)c文件的作用在于將不同功能的代碼分開來實(shí)現(xiàn),這樣便于代碼重用、代碼編譯和代碼管理。一個(gè)程序中,只能有一個(gè)main函數(shù),這是整個(gè)程序的起點(diǎn)和入口。
在調(diào)用函數(shù)之前,編譯器需要知道調(diào)用的規(guī)則,即調(diào)用的參數(shù)、參數(shù)個(gè)數(shù)、返回值,以一個(gè)文件為單位。
1、把程序的入口定義為一個(gè)main()函數(shù),其他你自己定義的函數(shù)就不要定義成這個(gè)名字,自己取個(gè)名字就可以了,然后在main()函數(shù)里面調(diào)用他就行了。
2、刪除掉extern main;就好了 main這個(gè)關(guān)鍵字不能隨便定義的 只能存在一個(gè) 程序都是從main開始所以也不能被調(diào)用,所以根本沒必要聲明main函數(shù)。
3、函數(shù)做了兩次定義了(刪掉一個(gè))。或者頭文件中做了一次定義,但是頭文件被重復(fù)引用了(百度:防止頭文件被重復(fù)引用)。
C語言在相同的.c文件中一定不能定義名稱相同的函數(shù),即使是重載的,因?yàn)镃語言不支持重載,這樣鏈接的時(shí)候會(huì)報(bào)錯(cuò)。
c語言不是面向?qū)ο笤O(shè)計(jì)的編程語言,不支持函數(shù)重載,所以不能有相同名稱的函數(shù),但是可以有相同的變量名,使用時(shí)是遵循就近原則。
首先你要相信c/c++的語法規(guī)定肯定是有原因的,這相當(dāng)于生活中的規(guī)矩,無規(guī)矩酒不成方圓。我舉個(gè)簡單例子說明你這種情況。
網(wǎng)站欄目:c語言函數(shù)重名怎么解決 c語言函數(shù)重復(fù)聲明
文章位置:http://chinadenli.net/article25/deogcji.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、動(dòng)態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)網(wǎng)站制作、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)