解析ios系統(tǒng)關(guān)于數(shù)組和指針
大小:0.2 MB 人氣: 2017-09-26 需要積分:11
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
- int *p 的解釋:將來(lái)的指針是指向int類型
指針p + 1 說(shuō)明內(nèi)存地址會(huì)加上4個(gè)字節(jié)(因?yàn)槭莍nt占4個(gè)字節(jié))
如果是 double *p 指針p + 1內(nèi)存地址會(huì)加上8個(gè)字節(jié)(因?yàn)槭莇ouble占8個(gè)字節(jié))
- 通過(guò)上述解釋我們得出一個(gè)公式:
指針p + n = p當(dāng)前的地址值 + n *指向類型所占用的字節(jié)數(shù)
指針p - n = p當(dāng)前的地址值 - n * 指向類型所占用的字節(jié)數(shù)
數(shù)組與指針:
int arrayName[4] = {10, 20, 30, 40};
上面的數(shù)組占16個(gè)字節(jié)(原因:每個(gè)int類型占4個(gè)字節(jié),這個(gè)數(shù)組有4個(gè)int類型,所以占16個(gè)字節(jié))
arrayName就是數(shù)組名
數(shù)組名 :表示數(shù)組首元素的地址,相當(dāng)于一個(gè)指向數(shù)組首元素的指針
相信你已經(jīng)有點(diǎn)蒙圈了,我們?cè)谶M(jìn)一步解釋一下:
NSLog(@“%p %p”, arrayName, arrayName + 1);
NSLog(@“%p %p”, &arrayName, &arrayName + 1);
1. arrayName 與 &arrayName
arrayName 是數(shù)組名,所以打印出來(lái)是數(shù)組首元素的地址
&arrayName 含義就是數(shù)組的地址(等價(jià)于指向arrayName數(shù)組的指針),因?yàn)闆](méi)增加1,所以數(shù)組的地址就是數(shù)組首元素的地址所以 arrayName 《-》&arrayName 打印出的地址是一樣的
2.(arrayName + 1) 與 (&arrayName + 1)
(arrayName + 1)通過(guò)上述解釋我們知道(arrayName + 1)指針是指向int類型,所以內(nèi)存地址會(huì)加上4個(gè)字節(jié)
(&arrayName + 1)我們知道&arrayName是數(shù)組的地址(等價(jià)于指向arrayName數(shù)組的指針) 因?yàn)樵黾?,這個(gè)數(shù)組總共占16個(gè)字節(jié),所以內(nèi)存地址會(huì)加上16個(gè)字節(jié)
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
下載地址
解析ios系統(tǒng)關(guān)于數(shù)組和指針下載
相關(guān)電子資料下載
- iOS17.1可能明天發(fā)布,iOS17.1主要修復(fù)哪些問(wèn)題? 379
- 常見(jiàn)的一級(jí)指針參數(shù)有什么作用 73
- 函數(shù)類型和函數(shù)指針類型的區(qū)別 18
- 一文詳解ZGC關(guān)鍵技術(shù) 26
- C語(yǔ)言編寫程序執(zhí)行效率高的原因是什么? 31
- 聲明數(shù)組語(yǔ)法及應(yīng)用案例 30
- Shell腳本程序開(kāi)發(fā)-數(shù)組(四) 101
- C編程中指針的語(yǔ)法和工作原理 153
- Python 中的5種隱藏技巧 105
- 辛苦整理的C語(yǔ)言筆記,一學(xué)就會(huì) 56