第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么把引用test.c刪掉不引用也可以運行。而引用之后卻反而不可以呢?

求大神解釋。

正在回答

3 回答

首先要明確,引用另一個文件test.c和調(diào)用say函數(shù)可以達到同一個目的。但是像原題又引用文件,同時又調(diào)用test內(nèi)部的say函數(shù)(默認是外部函數(shù)),則會重新,出錯。因此正確做法可以是:1.只調(diào)用外部文件,同時將test函數(shù)內(nèi)部的say函數(shù)改為static類型。2.直接將調(diào)用函數(shù)命令注釋掉即可,默認say是外部函數(shù),直接調(diào)用。

12 回復(fù) 有任何疑惑可以回復(fù)我~
#1

禮X 提問者

受教,懂了
2019-02-01 回復(fù) 有任何疑惑可以回復(fù)我~

請問是這個意思嗎?

注意到第二個源文件也就是test.c【后面將用T代替】調(diào)用了第一個源文件hello.c【后面將用H代替】中的函數(shù),因此我們先將H中被T調(diào)用的函數(shù)printLine()修改為外部函數(shù)也就是加上一個extern,這樣T也就是一個正常的源文件了。? ?現(xiàn)在討論兩種情況:

A。當(dāng)我們把T編譯為靜態(tài)函數(shù)的時候——static say()? ?,我們在H若要使用T的這個靜態(tài)函數(shù),這需要將他調(diào)用過來,而一個靜態(tài)函數(shù)是無法直接調(diào)用的,此時我們需要先引入say()函數(shù)所在的源文件,也就是H中的第二行代碼的用意。? ? ?

B。當(dāng)我們把T編譯為動態(tài)函數(shù)的時候——say()或者extern say()【因為extern可以省略】,我們?nèi)粢贖中使用T的這個函數(shù)say()那么我們可以直接調(diào)用,因為say()是一個外部函數(shù),無需引入其所在的源文件T也就是不需要H的第二行,因此會有人說“只要把第二行注釋掉就行了”其實這句話的前提是say()是一個外部函數(shù)。


1 回復(fù) 有任何疑惑可以回復(fù)我~

首先要明確,引用另一個文件test.c和調(diào)用say函數(shù)可以達到同一個目的。但是像原題又引用文件,同時又調(diào)用test內(nèi)部的say函數(shù)(默認是外部函數(shù)),則會重復(fù),出錯。因此正確做法可以是:1.只調(diào)用外部文件,同時將test文件內(nèi)部的say函數(shù)改為static類型。2.直接將調(diào)用文件命令注釋掉即可,默認say是外部函數(shù),直接調(diào)用。

2 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

為什么把引用test.c刪掉不引用也可以運行。而引用之后卻反而不可以呢?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號