[問題] 關於陣列指標的疑問

看板C_and_CPP作者 (EngRookie)時間8年前 (2016/07/20 17:09), 編輯推噓3(305)
留言8則, 7人參與, 最新討論串1/1
大家午安,小弟有一點問題關於陣列以及指標,如下: int arr1[8]; int *arr2[8]; int(*arr3)[8]; int *(arr4[8]); printf("sizeof = %d\n", sizeof(arr1)); // an array of int printf("sizeof = %d\n", sizeof(arr2)); // an array of pointer to int printf("sizeof = %d\n", sizeof(arr3)); // a pointer to array of int printf("sizeof = %d\n", sizeof(arr4)); // an array of pointer to int 小弟想問的是 int *(arr4[8]) 這代表的是什麼意思呢? 後面的注釋是我對宣告的理解,所以 arr2 = arr4 ? 請大家幫我釐清觀念,也希望大家可以一起學習 : ) 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.91.121 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1469005761.A.AF7.html

07/20 18:53, , 1F
8個連續空間的int*
07/20 18:53, 1F

07/20 19:22, , 2F
google: C Operator Precedence
07/20 19:22, 2F

07/20 19:49, , 3F
07/20 19:49, 3F

07/21 13:28, , 4F
所以 arr2 = arr4 這句話成立嗎?
07/21 13:28, 4F

07/21 18:08, , 5F
arr2 = arr4應該沒錯
07/21 18:08, 5F

07/21 20:20, , 6F
right-left rule 看一下不就知道了嗎…
07/21 20:20, 6F

07/22 14:04, , 7F
我就是看完才打出後面那斷宣告解釋..只是沒把握 T__T
07/22 14:04, 7F

07/23 12:30, , 8F
(:
07/23 12:30, 8F
文章代碼(AID): #1NZp_1ht (C_and_CPP)