課程
/后端開發(fā)
/C
/C語言入門
被引用的需被限定?
2019-01-08
源自:C語言入門 5-13
正在回答
注意到第二個(gè)源文件也就是test.c【后面將用T代替】調(diào)用了第一個(gè)源文件hello.c【后面將用H代替】中的函數(shù),因此我們先將H中被T調(diào)用的函數(shù)printLine()修改為外部函數(shù)也就是加上一個(gè)extern,這樣T也就是一個(gè)正常的源文件了。? ?現(xiàn)在討論兩種情況:
A。當(dāng)我們把T編譯為靜態(tài)函數(shù)的時(shí)候——static say()? ?,我們在H若要使用T的這個(gè)靜態(tài)函數(shù),這需要將他調(diào)用過來,而一個(gè)靜態(tài)函數(shù)是無法直接調(diào)用的,此時(shí)我們需要先引入say()函數(shù)所在的源文件,也就是H中的第二行代碼的用意。? ? ?
B。當(dāng)我們把T編譯為動(dòng)態(tài)函數(shù)的時(shí)候——say()或者extern say()【因?yàn)閑xtern可以省略】,我們?nèi)粢贖中使用T的這個(gè)函數(shù)say()那么我們可以直接調(diào)用,因?yàn)閟ay()是一個(gè)外部函數(shù),無需引入其所在的源文件T也就是不需要H的第二行,因此會(huì)有人說“只要把第二行注釋掉就行了”其實(shí)這句話的前提是say()是一個(gè)外部函數(shù)。
這里的static是對函數(shù)的作用范圍的一個(gè)限定,限定該函數(shù)只能在其所處的源文件中使用,因此在不同文件中出現(xiàn)相同的函數(shù)名稱的內(nèi)部函數(shù)是沒有問題的
靜態(tài)的? ?static
慕神6282746
慕娘0415944 回復(fù) 慕神6282746
qq_慕斯2176059 回復(fù) 慕神6282746
舉報(bào)
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
2 回答不是說static定義的內(nèi)部函數(shù)不能被調(diào)用嗎,為什么test.c里面改成static就反而可以調(diào)用到前面的main函數(shù)中去了?
3 回答為什么在dev c++上不用將 test.c的改為static 就運(yùn)行成功了?
1 回答為什么"test.c"中的say()函數(shù)也要變成static?
1 回答為什么在test.c中,要將整個(gè)函數(shù)設(shè)定為static,而不能只將printLine設(shè)定為static
1 回答test.c為啥要加static
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-02-21
注意到第二個(gè)源文件也就是test.c【后面將用T代替】調(diào)用了第一個(gè)源文件hello.c【后面將用H代替】中的函數(shù),因此我們先將H中被T調(diào)用的函數(shù)printLine()修改為外部函數(shù)也就是加上一個(gè)extern,這樣T也就是一個(gè)正常的源文件了。? ?現(xiàn)在討論兩種情況:
A。當(dāng)我們把T編譯為靜態(tài)函數(shù)的時(shí)候——static say()? ?,我們在H若要使用T的這個(gè)靜態(tài)函數(shù),這需要將他調(diào)用過來,而一個(gè)靜態(tài)函數(shù)是無法直接調(diào)用的,此時(shí)我們需要先引入say()函數(shù)所在的源文件,也就是H中的第二行代碼的用意。? ? ?
B。當(dāng)我們把T編譯為動(dòng)態(tài)函數(shù)的時(shí)候——say()或者extern say()【因?yàn)閑xtern可以省略】,我們?nèi)粢贖中使用T的這個(gè)函數(shù)say()那么我們可以直接調(diào)用,因?yàn)閟ay()是一個(gè)外部函數(shù),無需引入其所在的源文件T也就是不需要H的第二行,因此會(huì)有人說“只要把第二行注釋掉就行了”其實(shí)這句話的前提是say()是一個(gè)外部函數(shù)。
2019-01-25
這里的static是對函數(shù)的作用范圍的一個(gè)限定,限定該函數(shù)只能在其所處的源文件中使用,因此在不同文件中出現(xiàn)相同的函數(shù)名稱的內(nèi)部函數(shù)是沒有問題的
2019-01-09
靜態(tài)的? ?static