1、相同作用域下是不可以同名的。不同作用域,可以同名。比如 a文件中有個m函數(shù),在B文件中, 可以定義m局部變量。你這種就是不允許的。
創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)雅安機房托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
2、可以一樣的,沒有要求,最好用的時候不要一樣了。影響程序的可讀性。不利于以后的修改查錯。自己都難分清了,要讓別人讀你的程序,也就更不好理解了。
3、可以相同的 因為調(diào)用函數(shù)的時候需要使用括號。例如,fun();而變量直接使用即可,例如 int fun;fun=1;編譯器可以識別它們,可以相同。
4、C++編程時最好不要將變量名與函數(shù)同名,否則經(jīng)常出現(xiàn)一些二義性錯誤。比如在主函數(shù)中的choice,編譯器將它理解為是函數(shù)名而不是變量名,這樣一來在參數(shù)中填入一個函數(shù)名,就和chocie的聲明不一致了,所以就出錯了。
首先你沒有包含STRING.H文件,沒有指定使用系統(tǒng)定義的函數(shù)。其次,如果指定的話,在C編譯器里會報錯,在C++編譯器里會先執(zhí)行自定義的,再執(zhí)行系統(tǒng)的。
不行。自定義函數(shù)名可以與庫函數(shù)名重名,且優(yōu)先選擇自定義函數(shù),但不能與代碼變量名重名。但自定義函數(shù)中的代碼可以用與這個函數(shù)名相同的變量名。早期的編譯器是這樣,現(xiàn)在與C++兼容的編譯器如何處理此事,沒試過。
函數(shù):C語言在相同的.c文件中一定不能定義名稱相同的函數(shù),即使是重載的,因為C語言不支持重載,這樣鏈接的時候會報錯。
這東西不一定要太懂,知道用c去考慮調(diào)用方式就可以了.參數(shù)不同也是可以的,但是執(zhí)行一定會有錯誤,而且應該不能出現(xiàn)同名不同參數(shù)的的令一個函數(shù)。要不連接的時候就找不到正確的函數(shù)。
如果在不同的c文件中定義了同名的全局變量,則它們會占用相同的內(nèi)存空間,而且編譯鏈接時不會報錯!這可以參考全局變量的內(nèi)存初始化順序,對于局部變量而言,內(nèi)存分配的順序和代碼的順序是一樣的。
是的!不可以,不光C不行,C++也不行,我認為其它語言也不可以,如果函數(shù)和變量同名在編譯的時候如何判斷用的是函數(shù)還是變量呢?PS:函數(shù)在不寫函數(shù)調(diào)用符號時指的是函數(shù)的指針,我想這你也應該清楚。
1、C語言在相同的.c文件中一定不能定義名稱相同的函數(shù),即使是重載的,因為C語言不支持重載,這樣鏈接的時候會報錯。
2、C語言在同一個源程序文件中,兩個函數(shù)肚餓名字不可以相同 C++允許相同,這個叫重載,但是相同名字的函數(shù)的參數(shù)的個數(shù)或者類型必須不同。
3、c語言不是面向?qū)ο笤O計的編程語言,不支持函數(shù)重載,所以不能有相同名稱的函數(shù),但是可以有相同的變量名,使用時是遵循就近原則。
4、相同作用域下是不可以同名的。不同作用域,可以同名。比如 a文件中有個m函數(shù),在B文件中, 可以定義m局部變量。你這種就是不允許的。