c語言同名函數(shù)問題 c語言函數(shù)名和變量同名

c語言中的重名函數(shù)指的是什么?為什么不能通過,請舉個例子

就是指函數(shù)名相同,比如,int

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團企業(yè)網(wǎng)站建設(shè)等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了海港免費建站歡迎大家使用!

func()與int

func(int),

C語言里沒有函數(shù)重載,所以這樣寫是不行的(C++里是可以的)。

c語言中為什么函數(shù)不能重名?請舉個函數(shù)重名的例子,謝謝

可以重名,不過函數(shù)的參數(shù)類型或數(shù)量要不一致,例子如下:

//遞歸求階乘

int calc(int num){

if(num==0){

return 0;

}else{

return num*calc(num-1);

}

}

//遞歸求任意一個整數(shù)的整數(shù)次方

int calc(int num,int count){

if(num==0){

return 0;

}else if(count == 0){

return 1;

}else{

return num*calc(num,count-1);

}

}

這兩個函數(shù)方法名稱完全一樣,但是參數(shù)不一樣,這種做法有一個叫法,叫函數(shù)的重載

c語言同名函數(shù)問題

這不是兩個函數(shù),這是一個函數(shù),extern "C" int listid(int id, OUT *);

中的extren通知編譯器int listid(int id, OUT *)不在本源代碼中實現(xiàn),

"c"通知編譯器用C調(diào)用方式調(diào)用在另外的一個源程序的函數(shù),

C語言默認的調(diào)用方式就是C調(diào)用 C++就不同了,,所以最好加個"c"

另:調(diào)用方式規(guī)定了調(diào)用的時候輸入?yún)?shù)的順序和函數(shù)返回后輸入?yún)?shù)占用的空間由調(diào)用程序釋放還是由函數(shù)釋放。這東西不一定要太懂,知道用"c"去考慮調(diào)用方式就可以了.

參數(shù)不同也是可以的,但是執(zhí)行一定會有錯誤,而且應該不能出現(xiàn)同名不同參數(shù)的的令一個函數(shù)。要不連接的時候就找不到正確的函數(shù)。

c語言中,自定義函數(shù)和庫函數(shù)重名會怎么樣。會編譯出錯嗎?

如果是C++,有重載機制,不一定會出錯(如果兩個重名函數(shù)的參數(shù)列表不相同的話)

如果是C

#include了包含那個庫函數(shù)的頭文件的情況下,再定義一個重名函數(shù),就會出錯

網(wǎng)頁名稱:c語言同名函數(shù)問題 c語言函數(shù)名和變量同名
鏈接分享:http://muchs.cn/article12/dophgdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務、商城網(wǎng)站、搜索引擎優(yōu)化、Google、手機網(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)

搜索引擎優(yōu)化