溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

深入理解C語(yǔ)言的預(yù)編譯指令之 include

發(fā)布時(shí)間:2020-08-05 19:57:09 來(lái)源:網(wǎng)絡(luò) 閱讀:406 作者:ningcaichen66 欄目:編程語(yǔ)言

寫(xiě)過(guò)C語(yǔ)言的朋友都熟悉#include,在打印“hello world”這樣一條語(yǔ)句也用上這條指令。但是,說(shuō)熟悉它,只是表面熟悉,更多感覺(jué)是既熟悉又抽象陌生,結(jié)果也就只是不知道為什么的背誦了。抽象、熟悉而陌生,使得#include成為“最熟悉的陌生人”。

試著從另外的角度來(lái)深入理解它。

1:首先,它是一條預(yù)編譯指令

也就是在編譯之前就做了的,那么做了什么呢?動(dòng)態(tài)包含。

2:其次,來(lái)理解何為“動(dòng)態(tài)包含”?

一開(kāi)始:

深入理解C語(yǔ)言的預(yù)編譯指令之 include

效果:

深入理解C語(yǔ)言的預(yù)編譯指令之 include

現(xiàn)在,先創(chuàng)建一個(gè)頭文件:

深入理解C語(yǔ)言的預(yù)編譯指令之 include

把語(yǔ)句拷貝到ok.h中:

深入理解C語(yǔ)言的預(yù)編譯指令之 include

主文件中:

深入理解C語(yǔ)言的預(yù)編譯指令之 include

效果一樣:

深入理解C語(yǔ)言的預(yù)編譯指令之 include

可見(jiàn):#include 文件名 ,這條語(yǔ)句的功能是:在調(diào)用的時(shí)候復(fù)制該.h中的內(nèi)容、粘貼到調(diào)用的地方的效果。這就是動(dòng)態(tài)包含。

3:再次,為什么要這么做?也就是“動(dòng)態(tài)包含做成#include”的意義:

這樣的好處可以簡(jiǎn)化后續(xù)的維護(hù):以后如果要修改了,只要到這個(gè).h中來(lái)修改,那么N多地方多跟著是最新的了。

4:最后,繼續(xù)探究!

其實(shí).h也不一定是必須的,你可以是任意的后綴。這樣就更加的體會(huì)出,#include 文件名,這個(gè)預(yù)編譯指令的重點(diǎn)是#include,是動(dòng)態(tài)包含,而不是后綴是什么文件。

如:我把ok.h改為ok.ncc,同時(shí)為了區(qū)別,增加了幾個(gè)字:

深入理解C語(yǔ)言的預(yù)編譯指令之 include

在主文件中修改包含的文件:

深入理解C語(yǔ)言的預(yù)編譯指令之 include

結(jié)果同樣正確(打印了最新的內(nèi)容)

深入理解C語(yǔ)言的預(yù)編譯指令之 include

更多C語(yǔ)言詳解,敬請(qǐng)關(guān)注下集分解...


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI