[問題] 指標的指標
開發平台(Platform): Win7
編譯器: GCC
額外使用到的函數庫(Library Used): No
問題(Question): int **arr = (int**)malloc(c*sizeof(int))
程式碼(Code):https://ideone.com/e.js/kHRJmp
第八行(int **arr)做完小弟的理解是像這樣: https://imgur.com/a/d6kJniE
其中ABC因為還沒有給值,所以用變數表示。
當執行arr = (int**)malloc(c*sizeof(int*))
malloc所給予的是一個ptr,這個ptr是指向**int,所以這個ptr的value就會取代A所以圖就變成這樣(圖二): https://imgur.com/a/d6kJniE
問題:
1. malloc最後所allocate的大小是3*4bytes = 12bytes,但在我畫的圖中,B的size只有
4bytes,要如何放得下12bytes?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.26.157
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1527227184.A.D85.html
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 14:05:34
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 15:11:29
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 15:17:09
推
05/25 15:32,
6年前
, 1F
05/25 15:32, 1F
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 16:01:47
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 16:02:23
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 16:03:01
推
05/25 16:12,
6年前
, 2F
05/25 16:12, 2F
→
05/25 16:12,
6年前
, 3F
05/25 16:12, 3F
已更新內文,希望可以更明瞭,謝謝
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 16:39:03
→
05/25 16:40,
6年前
, 4F
05/25 16:40, 4F
→
05/25 16:42,
6年前
, 5F
05/25 16:42, 5F
→
05/25 16:42,
6年前
, 6F
05/25 16:42, 6F
不好意思,已改內文,第8行只有執行int **arr
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 16:45:32
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 16:46:23
→
05/25 16:48,
6年前
, 7F
05/25 16:48, 7F
→
05/25 16:48,
6年前
, 8F
05/25 16:48, 8F
→
05/25 16:48,
6年前
, 9F
05/25 16:48, 9F
恩恩,這個我能了解,我的問題是卡在為什麼中間會多3個空間,因為照理說只有1個空間
※ 編輯: zzss2003 (60.248.26.157), 05/25/2018 17:13:31
推
05/25 17:27,
6年前
, 10F
05/25 17:27, 10F
→
05/25 17:28,
6年前
, 11F
05/25 17:28, 11F
→
05/25 17:28,
6年前
, 12F
05/25 17:28, 12F
→
05/25 17:30,
6年前
, 13F
05/25 17:30, 13F
→
05/25 17:30,
6年前
, 14F
05/25 17:30, 14F
→
05/26 01:20,
6年前
, 15F
05/26 01:20, 15F
→
05/26 01:23,
6年前
, 16F
05/26 01:23, 16F
→
05/26 01:23,
6年前
, 17F
05/26 01:23, 17F
討論串 (同標題文章)