就是指函數名相同,比如,int

創新互聯是一家專業提供余杭企業網站建設,專注與網站制作、成都網站設計、H5響應式網站、小程序制作等業務。10年已為余杭眾多企業、政府機構等服務。創新互聯專業網站制作公司優惠進行中。
func()與int
func(int),
C語言里沒有函數重載,所以這樣寫是不行的(C++里是可以的)。
答案是:否
c語言中,變量和函數名稱不允許相同,比如你定義一個函數int a();那么你的main函數中,如果int a=a();則會報錯,這是c語言中非常討厭的一點,當然,反對者可能會說:“容易引起名稱混淆,導致不容易維護”,這是很牽強的說法,用現在流行的詞匯叫做:強行為c語言的缺點洗白,c語言的這個限制,極大程度的增加了初學者,尤其是自學者的學習難度,因為初學者不會考慮變量的含義,通常定義aa,bb,cc這樣更利于快速學習,但是出來這個限制,并且不知情的情況下,甚至都不知道在網上如何搜索來解決這個小問題,所以個人覺得這是c的不友好之一
可以重名,不過函數的參數類型或數量要不一致,例子如下:
//遞歸求階乘
int calc(int num){
if(num==0){
return 0;
}else{
return num*calc(num-1);
}
}
//遞歸求任意一個整數的整數次方
int calc(int num,int count){
if(num==0){
return 0;
}else if(count == 0){
return 1;
}else{
return num*calc(num,count-1);
}
}
這兩個函數方法名稱完全一樣,但是參數不一樣,這種做法有一個叫法,叫函數的重載
這不是兩個函數,這是一個函數,extern "C" int listid(int id, OUT *);
中的extren通知編譯器int listid(int id, OUT *)不在本源代碼中實現,
"c"通知編譯器用C調用方式調用在另外的一個源程序的函數,
C語言默認的調用方式就是C調用 C++就不同了,,所以最好加個"c"
另:調用方式規定了調用的時候輸入參數的順序和函數返回后輸入參數占用的空間由調用程序釋放還是由函數釋放。這東西不一定要太懂,知道用"c"去考慮調用方式就可以了.
參數不同也是可以的,但是執行一定會有錯誤,而且應該不能出現同名不同參數的的令一個函數。要不連接的時候就找不到正確的函數。
標題名稱:c語言如何防止同名函數 c語言中如何防止函數重名
本文地址:http://www.js-pz168.com/article36/ddjocpg.html
成都網站建設公司_創新互聯,為您提供Google、品牌網站制作、軟件開發、網站營銷、定制網站、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯