可以重名,不過函數(shù)的參數(shù)類型或數(shù)量要不一致,例子如下:
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),沙坡頭企業(yè)網(wǎng)站建設(shè),沙坡頭品牌網(wǎng)站建設(shè),網(wǎng)站定制,沙坡頭網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,沙坡頭網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
//遞歸求階乘
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ù)的重載
相同作用域下是不可以同名的。
不同作用域,可以同名。
比如 a文件中有個m函數(shù),在B文件中, 可以定義m局部變量。
你這種就是不允許的。
答案是:否
c語言中,變量和函數(shù)名稱不允許相同,比如你定義一個函數(shù)int a();那么你的main函數(shù)中,如果int a=a();則會報錯,這是c語言中非常討厭的一點(diǎn),當(dāng)然,反對者可能會說:“容易引起名稱混淆,導(dǎo)致不容易維護(hù)”,這是很牽強(qiáng)的說法,用現(xiàn)在流行的詞匯叫做:強(qiáng)行為c語言的缺點(diǎn)洗白,c語言的這個限制,極大程度的增加了初學(xué)者,尤其是自學(xué)者的學(xué)習(xí)難度,因?yàn)槌鯇W(xué)者不會考慮變量的含義,通常定義aa,bb,cc這樣更利于快速學(xué)習(xí),但是出來這個限制,并且不知情的情況下,甚至都不知道在網(wǎng)上如何搜索來解決這個小問題,所以個人覺得這是c的不友好之一
可以。靜態(tài)變量一旦被定義,內(nèi)存中分配給該變量的空間不會被釋放,直到掉電。但這和變量名相同與否是兩個概念,變量名只是內(nèi)存空間的一個名稱或者指示指針而已。如果兩個同名的靜態(tài)變量在兩個不同的函數(shù)內(nèi)部被定義,內(nèi)存分配時地址指針并不同,所有不會沖突。函數(shù)內(nèi)部定義的靜態(tài)變量在應(yīng)用時需要注意一個問題:如果該功能函數(shù)被兩個獨(dú)立的對象同時調(diào)用,該靜態(tài)變量是沖突的,此時該靜態(tài)變量必須被定義為獨(dú)立對象的成員。