當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > C語(yǔ)言指針:多級(jí)指針
C語(yǔ)言指針:多級(jí)指針
時(shí)間:2019-02-14 來(lái)源:未知
1.指針相關(guān)概念
地址:內(nèi)存單元的編號(hào)
變量:內(nèi)存空間的抽象
指針:C語(yǔ)言中的數(shù)據(jù)類型
指針變量:本質(zhì)是變量,即對(duì)一塊內(nèi)存空間
的抽象,該內(nèi)存空間存放的數(shù)據(jù)是地址。

數(shù)據(jù)類型的作用是修飾變量,確定變量在內(nèi)存中開(kāi)辟多大的空間。比如int修飾的整型變量在內(nèi)存中分配4byte空間,char修飾的字符類型在內(nèi)存中分配1byte空間,指針修飾的變量在內(nèi)存中分配4byte(32bit操作系統(tǒng))。
2.指針舉例
定義一個(gè)整型變量并初始化:int a = 5;
定義一個(gè)指針變量指向a的地址:int * p = &a;
如圖所示:指針變量p存放的是整型變量a的地址,即p指向a的地址。

3.多級(jí)指針
根據(jù)上面對(duì)指針的介紹,我們現(xiàn)在考慮一個(gè)問(wèn)題,能不能定義一個(gè)變量用來(lái)存放指針p的地址?
顯然是可以的,我們可以定義一個(gè)變量,這個(gè)變量的在內(nèi)存中所占的空間大小只要是4byte就可以存放指針變量p的地址,那像這樣的變量,就是我們今天要和大家共同分享的指針的指針,這里所說(shuō)的指針的指針,本質(zhì)是一個(gè)變量,該變量存放的是一個(gè)地址值,同時(shí)該地址指向的內(nèi)存空間中存放的又是一個(gè)地址,這實(shí)際上就是我們C語(yǔ)言中的多級(jí)指針。
4.二級(jí)指針的一般定義形式
<存儲(chǔ)類型> <數(shù)據(jù)類型> ** 二級(jí)指針變量名;
例如:
定義一個(gè)整型變量并初始化:int a = 5;
定義一個(gè)指針變量指向a的地址:int * p = &a;
定義一個(gè)二級(jí)指針指向p的地址:int **pp = &p;

訪問(wèn)二級(jí)指針指向的一級(jí)指針指向的內(nèi)存空間存放的數(shù)據(jù),可以使用“**”方式;
如:**pp的值就是a的值。
華清遠(yuǎn)見(jiàn)90+項(xiàng)目獲批!教育部2021最新協(xié)同育人項(xiàng)目名
華清遠(yuǎn)見(jiàn)榮獲2021騰訊教育“年度口碑影響力職業(yè)教育品
華清遠(yuǎn)見(jiàn)受邀參加2021年武漢民辦高校信息學(xué)科合作聯(lián)盟
溫暖同行共創(chuàng)佳績(jī) 2019華清遠(yuǎn)見(jiàn)北京總部年會(huì)大曝光
助力高校AI人工智能學(xué)科建設(shè) 華清遠(yuǎn)見(jiàn)人工智能師資班
華清遠(yuǎn)見(jiàn)受邀參加四川省物聯(lián)網(wǎng)年會(huì),榮獲優(yōu)秀企業(yè)專家
