你說的這些是C++的函數(shù)重載,C++是可以的,但C語言不支持函數(shù)重載

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)簡陽免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
比如:
void
fun(int
n)
與int
fun(int
n)就是名稱相同,返回類型不同,參數(shù)相同
void
fun(int
n)
與int
fun(int
n,int
s)就是名稱相同,返回類型不同,參數(shù)類型相同個數(shù)不同
int
fun(int
n)
與int
fun(int
n,int
s)
名稱相同,返回類型相同,參數(shù)類型相同個數(shù)不同
所以這些在用C語言編程時都會報錯,就是不行
c語言不是面向?qū)ο笤O(shè)計的編程語言,不支持函數(shù)重載,所以不能有相同名稱的函數(shù),但是可以有相同的變量名,使用時是遵循就近原則。
函數(shù):
1.C語言在相同的.c文件中一定不能定義名稱相同的函數(shù),即使是重載的,因為C語言不支持重載,這樣鏈接的時候會報錯。
2不同的.c文件中一般不能定義名稱相同的函數(shù),比如int func(int*);如果非要定義名稱相同的函數(shù),而且函數(shù)只在該(對應(yīng)的).c文件中使用,可以聲明成static類型。如兩個函數(shù)都定義為static int func(int*);這樣就可以定義成相同名字。
變量:
1.靜態(tài)變量在同一個.c文件中可以命名相同,但是只能初始化一次,否則鏈接出錯。而且實際只有一個該名字的變量。
如 static int tst; static int tst; //可以。
static int tst = 0; static int tst; //可以
static int tst = 0; static int tst = 0;//錯誤
2.靜態(tài)變量在不同.c文件中可以命名相同。但是該變量只能在該.c文件中使用。
具體可以百度強符號與弱符號。
以上。
當(dāng)前題目:c語言函數(shù)不能相同,c語言互不相同且無重復(fù)
當(dāng)前鏈接:http://chinadenli.net/article33/dsgseps.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站設(shè)計公司、外貿(mào)建站、品牌網(wǎng)站建設(shè)、網(wǎng)站維護、App開發(fā)
聲明:本網(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)