就是指函數(shù)名相同,比如,int
成都創(chuàng)新互聯(lián)是少有的做網(wǎng)站、成都做網(wǎng)站、營(yíng)銷型企業(yè)網(wǎng)站、微信小程序定制開(kāi)發(fā)、手機(jī)APP,開(kāi)發(fā)、制作、設(shè)計(jì)、賣友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,成立于2013年,堅(jiān)持透明化,價(jià)格低,無(wú)套路經(jīng)營(yíng)理念。讓網(wǎng)頁(yè)驚喜每一位訪客多年來(lái)深受用戶好評(píng)
func()與int
func(int),
C語(yǔ)言里沒(méi)有函數(shù)重載,所以這樣寫(xiě)是不行的(C++里是可以的)。
C語(yǔ)言在同一個(gè)源程序文件中,兩個(gè)函數(shù)肚餓名字不可以相同
C++允許相同,這個(gè)叫重載,但是相同名字的函數(shù)的參數(shù)的個(gè)數(shù)或者類型必須不同。
這不是兩個(gè)函數(shù),這是一個(gè)函數(shù),extern "C" int listid(int id, OUT *);
中的extren通知編譯器int listid(int id, OUT *)不在本源代碼中實(shí)現(xiàn),
"c"通知編譯器用C調(diào)用方式調(diào)用在另外的一個(gè)源程序的函數(shù),
C語(yǔ)言默認(rèn)的調(diào)用方式就是C調(diào)用 C++就不同了,,所以最好加個(gè)"c"
另:調(diào)用方式規(guī)定了調(diào)用的時(shí)候輸入?yún)?shù)的順序和函數(shù)返回后輸入?yún)?shù)占用的空間由調(diào)用程序釋放還是由函數(shù)釋放。這東西不一定要太懂,知道用"c"去考慮調(diào)用方式就可以了.
參數(shù)不同也是可以的,但是執(zhí)行一定會(huì)有錯(cuò)誤,而且應(yīng)該不能出現(xiàn)同名不同參數(shù)的的令一個(gè)函數(shù)。要不連接的時(shí)候就找不到正確的函數(shù)。
c語(yǔ)言不是面向?qū)ο笤O(shè)計(jì)的編程語(yǔ)言,不支持函數(shù)重載,所以不能有相同名稱的函數(shù),但是可以有相同的變量名,使用時(shí)是遵循就近原則。
你說(shuō)的這些是C++的函數(shù)重載,C++是可以的,但C語(yǔ)言不支持函數(shù)重載
比如:
void
fun(int
n)
與int
fun(int
n)就是名稱相同,返回類型不同,參數(shù)相同
void
fun(int
n)
與int
fun(int
n,int
s)就是名稱相同,返回類型不同,參數(shù)類型相同個(gè)數(shù)不同
int
fun(int
n)
與int
fun(int
n,int
s)
名稱相同,返回類型相同,參數(shù)類型相同個(gè)數(shù)不同
所以這些在用C語(yǔ)言編程時(shí)都會(huì)報(bào)錯(cuò),就是不行