我們使用這樣的方式來定義一個(gè)指針:
Type *p;
我們說
p是指向type類型的指針
,type可以是任意類型,除了可以是char,short, int, long等基本類型外,還可以是指針類型,例如int *, int **, 或者更多級(jí)的指針,也可是是結(jié)構(gòu)體,類或者函數(shù)等。于是,我們說:
int * 是指向int類型的指針;int **,也即(int *) *,是指向int *類型的指針,也就是指向指針的指針;int ***,也即(int **) *,是指向int**類型的指針,也就是指向指針的指針的指針;…我想你應(yīng)該懂了
struct xxx *,是指向struct xxx類型的指針;
其實(shí),說這么多,只是希望大家在看到指針的時(shí)候,不要被int ***這樣的東西嚇到,就像前面說的,指針就是指向某種類型的指針,我們只看最后一個(gè)*號(hào),前面的只不過是type類型罷了。
細(xì)心一點(diǎn)的人應(yīng)該發(fā)現(xiàn)了,在“什么是指針”這一小節(jié)當(dāng)中,已經(jīng)表明了:
指針的長(zhǎng)度跟CPU的位數(shù)相等
,大部分的CPU是32位的,因此我們說,
指針的長(zhǎng)度是32bit,也就是4個(gè)字節(jié)!
注意:任意指針的長(zhǎng)度都是4個(gè)字節(jié),不管是什么指針?。ó?dāng)然64位機(jī)自己去測(cè)一下,應(yīng)該是8個(gè)字節(jié)吧。。。)
于是:
Type *p;
izeof(p)的值是4,Type可以是任意類型,char,int, long, struct, class, int **…
以后大家看到什么sizeof(char*), sizeof(int *),sizeof(xxx *),不要理會(huì),統(tǒng)統(tǒng)寫4,只要是指針,長(zhǎng)度就是4個(gè)字節(jié),絕對(duì)不要被type類型迷惑!
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67514 -
指針
+關(guān)注
關(guān)注
1文章
484瀏覽量
71854
發(fā)布評(píng)論請(qǐng)先 登錄
指針與函數(shù)詳解
C語言重點(diǎn)—指針篇
函數(shù)指針介紹
函數(shù)指針與回調(diào)函數(shù)解讀
指針難學(xué)的4點(diǎn)原因分析
指針的基礎(chǔ)
函數(shù)指針及指針函數(shù)的區(qū)別
函數(shù)指針的概念
如何用函數(shù)指針調(diào)用函數(shù)
C指針的妙用分享
關(guān)于伺服電纜長(zhǎng)度問題的詳解
舵機(jī)原理簡(jiǎn)述!
函數(shù)指針的六個(gè)常見應(yīng)用場(chǎng)景
指針長(zhǎng)度簡(jiǎn)述
評(píng)論