五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C/C++編程筆記:神一般的C語言指針,你能夠看懂多少?

2020-05-31 16:50 作者:C語言編程__Plus  | 我要投稿

曾經(jīng)閱讀《C/C++程序員面試指南》中指針一塊,以前一知半解的指針問題頃刻間懂了,今天分享一下,看大家是不是真正了解C語言指針!

下面,我們可以先來做個(gè)測試,如果下面的指針問題你能夠全都解答正確,那么你的C語言功底真是神一般的了。

1.int *p;

2.int **p;

3.int *p[10];

4.int (*p)[10];

5.int *p(int);

6.int (*p)(int);

7.int (*p[10])(int);

這七個(gè)難度還不是很大,相信大多數(shù)讀者都能夠答的出來。

答案:

1.一個(gè)指向整型數(shù)據(jù)的指針

2.一個(gè)指針的指針,它指向的指針指向一個(gè)整型數(shù)據(jù)

3.一個(gè)有十個(gè)指針的數(shù)組,該指針指向整型數(shù)據(jù)

4.一個(gè)指向有十個(gè)整型數(shù)據(jù)數(shù)組的指針

5.就一個(gè)函數(shù)(不是函數(shù)指針),該函數(shù)有一個(gè)整型參數(shù),返回值為一個(gè)指向整型的指針

6.一個(gè)函數(shù)指針,該函數(shù)有一個(gè)整型的參數(shù),返回值為整型類型

7.一個(gè)有十個(gè)指針的數(shù)組,該數(shù)組中的指針指向一個(gè)函數(shù),該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù)

啊,當(dāng)時(shí)看完我就吁了口氣,真神一般似的,但是但我接著看下去,下面有碰到一個(gè),我徹底崩潰了.......

題目是這樣的:

請(qǐng)解析 (*(void (*)())0)() 的含義。// 怎么樣?要HOLD住阿!

分析問題:

不賣關(guān)子了,但是我早HOLD不住了。書中的答案是這樣的:

有些微處理器從0地址啟動(dòng),有時(shí)為了模擬開機(jī)時(shí)的情形,需要設(shè)計(jì)一條C 語句,去執(zhí)行0地址的內(nèi)容,于是就有了(*(void (*)())0)() 這條語句。

這條語句一眼看上去讓人頭疼,但分析之后還是挺簡單的。

首先,當(dāng)有如下函數(shù)聲明時(shí):

void fun(param);

這個(gè)函數(shù)的調(diào)用形式為:fun(param);

題目的函數(shù)沒有參數(shù),所以就簡化成fun();

而0是這個(gè)函數(shù)的入口地址,即0就是這個(gè)函數(shù)的指針值,指針的函數(shù)聲明為:

void (*pFun)(param);

調(diào)用形式為:(*pFun)(param);

對(duì)于本題可以寫成:( *0 ) ();

但是函數(shù)指針變量不能是個(gè)常數(shù),所以還要把0強(qiáng)制轉(zhuǎn)換成函數(shù)指針,根據(jù)原題可以元函數(shù)的函數(shù)指針原型為 void (*)();

于是(*(void (*)())0)()可以這樣來分析,首先用void (*)()把0強(qiáng)制轉(zhuǎn)換成了函數(shù)指針,然后再調(diào)用函數(shù)指針0所指向的函數(shù)。

可以用typedef來加深對(duì)本句的理解,如下:

typedef void (*pFun)();

((*pFun)0)();

這兩句和(*(void (*)())0)()是等價(jià)的,但是這樣更有助于加深對(duì)本句的理解。

總結(jié):(*(void (*)())0)()就是 *(void (*)())0 所對(duì)應(yīng)的函數(shù)的調(diào)用。

希望對(duì)大家有幫助!

學(xué)習(xí)C/C++編程知識(shí),提升C/C++編程能力,歡迎關(guān)注UP一起來成長!
另外,UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~

C/C++編程筆記:神一般的C語言指針,你能夠看懂多少?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
中西区| 饶河县| 宁陕县| 荆门市| 马尔康县| 聂荣县| 亚东县| 高陵县| 华亭县| 镇坪县| 文山县| 贵阳市| 八宿县| 宜宾县| 珠海市| 奉新县| 扶余县| 开阳县| 霞浦县| 寿宁县| 邮箱| 黎川县| 会泽县| 苍溪县| 丽水市| 塔城市| 长垣县| 万全县| 贺州市| 新野县| 图木舒克市| 蓝田县| 彭阳县| 慈溪市| 四会市| 深水埗区| 微山县| 比如县| 若尔盖县| 镇远县| 巴里|