解析ios系統關于數組和指針
大?。?/span>0.2 MB 人氣: 2017-09-26 需要積分:11
- int *p 的解釋:將來的指針是指向int類型
指針p + 1 說明內存地址會加上4個字節(因為是int占4個字節)
如果是 double *p 指針p + 1內存地址會加上8個字節(因為是double占8個字節)
- 通過上述解釋我們得出一個公式:
指針p + n = p當前的地址值 + n *指向類型所占用的字節數
指針p - n = p當前的地址值 - n * 指向類型所占用的字節數
數組與指針:
int arrayName[4] = {10, 20, 30, 40};
上面的數組占16個字節(原因:每個int類型占4個字節,這個數組有4個int類型,所以占16個字節)
arrayName就是數組名
數組名 :表示數組首元素的地址,相當于一個指向數組首元素的指針
相信你已經有點蒙圈了,我們在進一步解釋一下:
NSLog(@“%p %p”, arrayName, arrayName + 1);
NSLog(@“%p %p”, &arrayName, &arrayName + 1);
1. arrayName 與 &arrayName
arrayName 是數組名,所以打印出來是數組首元素的地址
&arrayName 含義就是數組的地址(等價于指向arrayName數組的指針),因為沒增加1,所以數組的地址就是數組首元素的地址所以 arrayName 《-》&arrayName 打印出的地址是一樣的
2.(arrayName + 1) 與 (&arrayName + 1)
?。╝rrayName + 1)通過上述解釋我們知道(arrayName + 1)指針是指向int類型,所以內存地址會加上4個字節
(&arrayName + 1)我們知道&arrayName是數組的地址(等價于指向arrayName數組的指針) 因為增加1,這個數組總共占16個字節,所以內存地址會加上16個字節
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
解析ios系統關于數組和指針下載
相關電子資料下載
- iOS17.1可能明天發布,iOS17.1主要修復哪些問題? 379
- 常見的一級指針參數有什么作用 73
- 函數類型和函數指針類型的區別 18
- 一文詳解ZGC關鍵技術 26
- C語言編寫程序執行效率高的原因是什么? 31
- 聲明數組語法及應用案例 30
- Shell腳本程序開發-數組(四) 101
- C編程中指針的語法和工作原理 153
- Python 中的5種隱藏技巧 105
- 辛苦整理的C語言筆記,一學就會 56