欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

數組與指針

系統 2243 0

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

char str[20],*pstr;

pstr=str 等價于 pstr =&str[0] ; // 指針被置為數組第一個元素的地址

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

值得注意的是 pstr 是一個可以變化的指針變量,因此 pstr++;++pstr; pstr+=5 都是正確的,而 str 是一個常數。因為數組一經說明,數組的地址也就被固定了,故 str++;++str; str+=5 都是錯誤的。

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

int a[3][4]; // 二維整型數組

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

p=a;

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

假設是這么一個數組:  

int arr[20];

arr 的內存示意圖為:

數組與指針

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

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

數組是“實”的地址,不能改變。當你和定義一個數組,則這個數組就得根據它在內存中的位置,得到一個地址,如上圖中的“ 0x1A000000 ”。只要這個數組存在,那么它終生的地址就是這個值。

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

參考:

A TUTORIAL ON POINTERS AND ARRAYS IN C

數組與指針


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久99综合国产精品亚洲首页 | 91免费在线 | 天天综合网站 | jizzjizzjizzjizz国产 | y4480午夜66 | 四虎影视免费在线观看 | 狠狠色噜噜狠狠狠97影音先锋 | 国产亚洲成av人在线观看导航 | 日韩精品一区二区三区在线播放 | 美女在线视频网站 | 九九热免费观看 | 97热久久 | 精品欧美一区二区三区精品久久 | 黄色a视频 | 夜夜操天天操 | 欧美亚洲另类视频 | 久久这里只有精品99 | 日本久久久久久久 | 欧美极品在线观看 | 国产真实精品久久二三区 | 黄桃av| 国产亚洲欧美在线视频 | 精品乱子伦一区二区三区 | 日韩欧美在线观看一区 | 人人干免费 | 欧美激情欧美激情在线五月 | 午夜福利国产在线观看1 | 国产综合精品 | 日本在线播放不卡一区二区三区 | 亚洲视频在线播放 | 婷婷久久激情啪啪 | 国产无遮挡裸体免费视频 | 久色亚洲| 久久久久久久久久久9精品视频 | 天天操天天插天天干 | 国产区精品 | 国产精品久久久久久日本一道 | 欧美日韩一区二区综合在线视频 | 国产免费资源 | 久久久久在线观看 | 亚洲一区二区在线播放 |