C語言在相同的.c文件中一定不能定義名稱相同的函數(shù),即使是重載的,因為C語言不支持重載,這樣鏈接的時候會報錯。
專注于為中小企業(yè)提供成都網(wǎng)站設計、網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)永興免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
c語言不是面向對象設計的編程語言,不支持函數(shù)重載,所以不能有相同名稱的函數(shù),但是可以有相同的變量名,使用時是遵循就近原則。
相同作用域下是不可以同名的。不同作用域,可以同名。比如 a文件中有個m函數(shù),在B文件中, 可以定義m局部變量。你這種就是不允許的。
如果這個函數(shù)和數(shù)組在同一個源文件內(nèi),并且這個數(shù)組是全局變量,那么,就不能同名。否則,在你使用這個名字時,默認是使用當前函數(shù)里聲明的同名數(shù)組,而不是函數(shù)外部的同名函數(shù)。
C語言里沒有函數(shù)重載,所以這樣寫是不行的(C++里是可以的)。
c語言不是面向對象設計的編程語言,不支持函數(shù)重載,所以不能有相同名稱的函數(shù),但是可以有相同的變量名,使用時是遵循就近原則。
C語言在同一個源程序文件中,兩個函數(shù)肚餓名字不可以相同 C++允許相同,這個叫重載,但是相同名字的函數(shù)的參數(shù)的個數(shù)或者類型必須不同。
函數(shù):C語言在相同的.c文件中一定不能定義名稱相同的函數(shù),即使是重載的,因為C語言不支持重載,這樣鏈接的時候會報錯。
首先你要相信c/c++的語法規(guī)定肯定是有原因的,這相當于生活中的規(guī)矩,無規(guī)矩酒不成方圓。我舉個簡單例子說明你這種情況。
1、首先你沒有包含STRING.H文件,沒有指定使用系統(tǒng)定義的函數(shù)。其次,如果指定的話,在C編譯器里會報錯,在C++編譯器里會先執(zhí)行自定義的,再執(zhí)行系統(tǒng)的。
2、不行。自定義函數(shù)名可以與庫函數(shù)名重名,且優(yōu)先選擇自定義函數(shù),但不能與代碼變量名重名。但自定義函數(shù)中的代碼可以用與這個函數(shù)名相同的變量名。早期的編譯器是這樣,現(xiàn)在與C++兼容的編譯器如何處理此事,沒試過。
3、這東西不一定要太懂,知道用c去考慮調(diào)用方式就可以了.參數(shù)不同也是可以的,但是執(zhí)行一定會有錯誤,而且應該不能出現(xiàn)同名不同參數(shù)的的令一個函數(shù)。要不連接的時候就找不到正確的函數(shù)。
4、函數(shù):C語言在相同的.c文件中一定不能定義名稱相同的函數(shù),即使是重載的,因為C語言不支持重載,這樣鏈接的時候會報錯。