最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

9.4c語言指針復(fù)習(xí)_指向數(shù)組和字符串的指針

2020-08-17 11:16 作者:韋東山  | 我要投稿


視頻教程???

?韋東山升級(jí)版全系列嵌入式免費(fèi)視頻_快速入門篇

實(shí)例2

我們?cè)趐ointer_test.c的文件中寫一個(gè)test2()函數(shù),我們定義一個(gè)有3個(gè)元素的字符數(shù)組初始化值分別為,’A’, ’B’, ’C’,然后定義一個(gè)字符指針pc,把數(shù)組ca的首地址復(fù)制給字符指針pc,然后通過訪問指針變量pc,來讀取指針變量pc所指向地址的數(shù)據(jù),代碼如下:?

main()函數(shù)?

編譯

gcc -m32 -o pointer_test pointer_test.c

運(yùn)行:

./pointer_test

結(jié)果:

分析:

第一步:

首先定義一個(gè)3個(gè)元素的字符數(shù)組ca(數(shù)組名表示該數(shù)組存儲(chǔ)的首地址),然后定義一個(gè)字符指針pc,然后通過printf()函數(shù)把定義這兩個(gè)變量在內(nèi)存中的地址打印出來。


第二步:

執(zhí)行pc = ca;就是把數(shù)組ca的首地址復(fù)制給指針變量pc,然后通過printf()函數(shù)打印pc的值可以看出pc的值就是字符數(shù)組ca的首地址0xffb946b9。


第三步:

通過移動(dòng)指針我們可以發(fā)現(xiàn)數(shù)組所占用的內(nèi)存是連續(xù)的,0x41(的ascii值‘A‘),0x42(的ascii值‘B‘),0x43(的ascii值‘C‘)。
如圖

Chapter9 lesson4 001.jpg

實(shí)例3

我們?cè)趐ointer_test.c的文件中寫一個(gè)test3()函數(shù),我們定義一個(gè)有3個(gè)元素的整型數(shù)組ia,初始化值分別為,0x12345678, 0x87654321, 0x13572468,然后定義一個(gè)整型指針pi,把數(shù)組ia的首地址復(fù)制給整型指針pi,然后通過訪問指針變量pi,來讀取指針變量pi所指向地址的數(shù)據(jù),代碼如下:?

把main()函數(shù)test2()修改為test3().

編譯

gcc -m32 -o pointer_test pointer_test.c

運(yùn)行:

./pointer_test

結(jié)果:?

分析:

第一步:

我們定義一個(gè)有3個(gè)元素的整型數(shù)組ia數(shù)組名表示該數(shù)組存儲(chǔ)的首地址),初始化值分別為,0x12345678, 0x87654321, 0x13572468, 然后定義一個(gè)整型指針pi,然后通過printf()函數(shù)把定義這兩個(gè)變量在內(nèi)存中的地址打印出來。


第二步:

執(zhí)行pi = ia; 就是把數(shù)組ia的首地址復(fù)制給指針變量pi,然后通過printf()函數(shù)打印pi的值可以看出pi的值就是整型數(shù)組ia的首地址0xff91c060。


第三步:

我們知道 pi是整型指針變量,并且整型變量占用四個(gè)字節(jié),所以整型指針變量pi是以四字節(jié)為單元進(jìn)行訪問的,所以pi和pi+1之間的差是一個(gè)整型變量的大?。?個(gè)字節(jié))。


Chapter9 lesson4 002.jpg


實(shí)例4

定義一個(gè)指向字符串的指針pc,然后對(duì)字符串指針進(jìn)行初始化設(shè)置為abc,代碼如下:?

把main()函數(shù)test3()修改為test4(). 編譯:

gcc -m32 -o pointer_test pointer_test.c

運(yùn)行:

./pointer_test

結(jié)果:?

分析:


第一步:

定義一個(gè)指向字符串的指針pc,然后對(duì)字符串指針進(jìn)行初始化設(shè)置為abc,此時(shí),指針變量pc的值就是字符串abc的首地址,然后通過printf()函數(shù)把指針pc的地址打印出來為0xfff49a68


第二步:

首先通過printf()函數(shù)打印出指針變量pc的值(字符串abc的首地址),pc的值為0x08048b4b,然后通過pc指針訪問第一個(gè)字符(pc的就是字符串的首地址),所以pc的值就是字符‘a(chǎn)‘的地址,所以*pc的值就是’a‘, 如圖所示:

Chapter9 lesson4 003.jpg

下面分析一下指向數(shù)組的指針和指向字符串的指針:

char ca[3]={'A','B','C'};?

char *pc0 = ca;

pc0是指向字符數(shù)組的字符指針,pc0就是數(shù)組首元素的地址,pc0=&a[0]

char *pc11="abc";


pc是指向字符串的字符指針,pc1就是字符串"abc"的首字符'a'的地址。?


視頻教程???

?韋東山升級(jí)版全系列嵌入式免費(fèi)視頻_快速入門篇



9.4c語言指針復(fù)習(xí)_指向數(shù)組和字符串的指針的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
福州市| 永新县| 保亭| 平罗县| 建昌县| 丰县| 平顺县| 大同市| 浪卡子县| 瓦房店市| 玉山县| 扶余县| 迁西县| 无棣县| 都兰县| 建宁县| 湘西| 肃南| 宜宾县| 丹寨县| 张掖市| 固镇县| 辰溪县| 邯郸市| 平泉县| 天长市| 象山县| 宝山区| 互助| 海城市| 启东市| 综艺| 大石桥市| 麻阳| 长乐市| 和政县| 宁武县| 阿城市| 昌图县| 胶州市| 彝良县|