看板 C_and_CPP 關於我們 聯絡資訊
大家午安,小弟有一點問題關於陣列以及指標,如下: 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
testPtt: 8個連續空間的int* 07/20 18:53
yvb: google: C Operator Precedence 07/20 19:22
CaptainH: http://cdecl.org 07/20 19:49
EngRookie: 所以 arr2 = arr4 這句話成立嗎? 07/21 13:28
boss0405: arr2 = arr4應該沒錯 07/21 18:08
CoNsTaR: right-left rule 看一下不就知道了嗎… 07/21 20:20
EngRookie: 我就是看完才打出後面那斷宣告解釋..只是沒把握 T__T 07/22 14:04
TobyH4cker: (: 07/23 12:30