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

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

C語言:關(guān)于二級指針之指向指針數(shù)組的指針的理解和操作

2022-10-27 11:24 作者:漁夫71  | 我要投稿

一、二級指針的概念

二級指針就是指向指針的指針,二級指針中存儲的是指針的地址。指向存儲指針空間的首地址。

二、二級指針之指向指針數(shù)組的定義

1.首先講一下什么是指針數(shù)組和數(shù)組指針:

(1)指針數(shù)組意思是存儲指針的數(shù)組,指針數(shù)組可以存儲多個指針。
(2)數(shù)組指針的意思是數(shù)組的指針,數(shù)組指針指向的是數(shù)組,包括一維數(shù)組、二維數(shù)組、n維數(shù)組,數(shù)組指針只有一個。

2.指向指針數(shù)組的指針

它也是唯一確定的,因為存儲指針數(shù)組的空間的起始地址是確定的,指向其的指針也是唯一確定的,這里要注意二級指針的類型應(yīng)與指針數(shù)組的類型相同,移動二級指針的步長取決于數(shù)據(jù)類型,假如是int類型的指針數(shù)組,那么其二級指針移動一個步長的大小為4個字節(jié),假如是char類型的數(shù)組其二級指針則移動一個步長大小為1個字節(jié)。

上述代碼定義了一個長度為3的指針數(shù)組,移動其二級指針,假如移動一個步長,令q=q+1,此時二級指針指向的是存儲指針數(shù)組第二個指針的空間的首地址。

三、使用二級指針訪問任意數(shù)組元素,并輸出字符

要訪問任意的數(shù)組元素,需要得到指向任意字符的的指針。
例如第二個字符串"fishinger"中的第七個字符’g’:
1.首先要移動二級指針q一個步長,即q+1,等價于&p[1],使其指向指針數(shù)組中第二個指針的起始地址,即指針p[1]的起始地址。
2.對q+1使用取值字符’ * ’ 得到指針數(shù)組中第二個指針,即 *(q+1),等價于p[1]
3.對指針 * (q+1)移動6個步長,即 * (q+1)+6,等價于 * (p[1]+6),其指向第七個字符’g’的起始地址(首地址),加6是因為指針指向的是內(nèi)存中的首地址,數(shù)組的內(nèi)存是連續(xù)的,所以移動6個步長就可以指向第7個符’g’的起始地址。
4.對指針 * (q+1)+6使用取值運算符*得到字符’g’。
可結(jié)合下圖理解:

圖解二級指針

代碼:

結(jié)果:

四、使用二級指針輸出任意字符串

1.輸出任意指針數(shù)組中各指針指向的內(nèi)存中存儲的字符串

前面的字符型指針數(shù)組中的指針有3個,其指向的內(nèi)存中存儲的字符串也有三個,分別是"hello",“fishinger”,“Good”,現(xiàn)在先輸出其中任意一個字符串,我們只需要移動二級指針q即可,以輸出字符串"fishinger"為例:

結(jié)果:

上述中的1換成2則輸出第三個字符串"Good",不加任和數(shù),即*q,則輸出第一個字符串"hello"。

2.輸出指針數(shù)組中各指針指向的內(nèi)存中存儲的全部字符串

有了輸出單個字符串的經(jīng)驗,輸出全部字符串就很簡單了,只需使用循環(huán)就可以輸出所有字符串,代碼如下:

結(jié)果:

寫在最后:

文章可能有不足之處,歡迎大家一起來探討交流,加深理解。


C語言:關(guān)于二級指針之指向指針數(shù)組的指針的理解和操作的評論 (共 條)

分享到微博請遵守國家法律
广平县| 双牌县| 凌源市| 龙口市| 富锦市| 浮山县| 无锡市| 鄯善县| 余干县| 兴隆县| 阿尔山市| 洞头县| 临夏县| 镇平县| 利川市| 无锡市| 峨眉山市| 丰台区| 玉树县| 崇仁县| 琼结县| 齐齐哈尔市| 精河县| 安阳县| 久治县| 卓尼县| 新巴尔虎左旗| 哈尔滨市| 平乐县| 密云县| 色达县| 财经| 富蕴县| 霍林郭勒市| 新巴尔虎右旗| 望奎县| 于都县| 宣威市| 彰化市| 湘西| 花莲县|