亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

數(shù)組與指針

系統(tǒng) 2183 0

任何能由數(shù)組下標(biāo)完成的操作也可由指針來完成,一個(gè)不帶下標(biāo)的數(shù)組名就是一個(gè)指向此數(shù)組的指針,在 C 語言中數(shù)組名就是數(shù)組的地址。當(dāng)一個(gè)指針變量被初始化為數(shù)組名時(shí),就說該指針變量指向了數(shù)組。

char str[20],*pstr;

pstr=str 等價(jià)于 pstr =&str[0] ; // 指針被置為數(shù)組第一個(gè)元素的地址

訪問數(shù)組第 6 個(gè)元素: str[5],pstr[5], *(str+5),*(pstr+5)

值得注意的是 pstr 是一個(gè)可以變化的指針變量,因此 pstr++;++pstr; pstr+=5 都是正確的,而 str 是一個(gè)常數(shù)。因?yàn)閿?shù)組一經(jīng)說明,數(shù)組的地址也就被固定了,故 str++;++str; str+=5 都是錯(cuò)誤的。

編譯系統(tǒng)在處理 str[i] 時(shí),實(shí)際上是將數(shù)組元素的形式 str[i] 轉(zhuǎn)換為 *(str+i) ,然后再進(jìn)行運(yùn)算的。相應(yīng)的引用二維數(shù)組 a[i][j] 則等價(jià)于 (*(a+i))[j] *(*(a+i)+j), 通常式子 *(a+i)+j 是用來計(jì)算元素所在內(nèi)存地址,并不是它的內(nèi)容。

int a[3][4]; // 二維整型數(shù)組

int (*p)[4]; // 整型指針數(shù)組

p=a;

p+1 不是指向 a[0][1] ,而是指向 a[1] 。這是 p 的增值以一維數(shù)組長(zhǎng)度為單位。

假設(shè)是這么一個(gè)數(shù)組:  

int arr[20];

arr 的內(nèi)存示意圖為:

數(shù)組與指針

和指針變量相比, 數(shù)組沒有一個(gè)單獨(dú)的內(nèi)存空間而存放其內(nèi)存地址。即:指針變量 p 是一個(gè)獨(dú)立的變量,只不過它的值指向另一段連續(xù)的內(nèi)存空間;而數(shù)組 arr ,本身代表的就是一段連續(xù)空間。

如果拿房間來比喻。指針和數(shù)組都是存放地址。只不過,指針是你口袋里的那本通訊錄上寫著的地址,你可以隨時(shí)改變它的內(nèi)容,甚至擦除。而數(shù)組是你家門楣上釘著的地址,你家原來是“復(fù)興路甲 108 號(hào)”,你絕對(duì)不能趁月黑天高,把它涂改為“唐寧街 10 號(hào)”。 

數(shù)組是“實(shí)”的地址,不能改變。當(dāng)你和定義一個(gè)數(shù)組,則這個(gè)數(shù)組就得根據(jù)它在內(nèi)存中的位置,得到一個(gè)地址,如上圖中的“ 0x1A000000 ”。只要這個(gè)數(shù)組存在,那么它終生的地址就是這個(gè)值。

指針是一個(gè)“虛”的地址,可以改變地址的值。當(dāng)你定義一個(gè)指針變量,這個(gè)變量占用 4 個(gè)字節(jié)的內(nèi)存,你可以往這 4 字節(jié)的內(nèi)存寫入任意一個(gè)值,該值被當(dāng)成一個(gè)內(nèi)存地址。比如,你可以寫入上面的“ 0x1A000000 , 此時(shí),指針 p 指向第一個(gè)元素。也可以改為“ 0x1A000003 ”,此時(shí),指針 p 指向第二個(gè)元素。

參考:

A TUTORIAL ON POINTERS AND ARRAYS IN C

數(shù)組與指針


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日本一级毛片免费看 | 亚洲欧美成人综合 | 9久热这里只有精品视频在线观看 | 亚洲在线播放视频 | 白云精品视频国产专区 | 久久精品vr中文字幕 | 国产欧美专区在线观看 | 国产精品入口麻豆午夜 | 日本中文字幕一区二区有码在线 | 亚洲人成自拍网站在线观看忄 | 久久97久久97精品免视看 | 99re8免费视频精品全部 | 国产精品视频公开费视频 | 99精品国产一区二区三区 | 999久久久国产 | 国产日产欧美精品 | 色综合综合色 | 污影院| 成人国产在线观看 | 亚洲精品欧美精品日韩精品 | 国产精品线在线精品国语 | 国产成人亚洲精品乱码在线观看 | 精品亚洲一区二区三区在线播放 | 欧美激情二区 | 日本中文一区 | 国产精品福利在线 | 国产精品久久久久久一区二区三区 | 欧美精品久久一区二区三区 | 91在线永久 | 亚洲狠狠| 国产高清视频青青青在线 | 一本久道久综合久久鬼色 | 天天操天天谢 | 四虎成人欧美精品在永久在线 | 日韩精品影视 | 久久爱综合久久爱com | 色综合国产 | 91视频首页| 久草最新 | 亚洲一区日韩二区欧美三区 | 国产高清福利91成人 |