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

作者: EngRookie (EngRookie)   2016-07-20 17:09:19
大家午安,小弟有一點問題關於陣列以及指標,如下:
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 ?
請大家幫我釐清觀念,也希望大家可以一起學習 : )
謝謝
作者: testPtt (測試)   2016-07-20 18:53:00
8個連續空間的int*
作者: yvb   2016-07-20 19:22:00
google: C Operator Precedence
作者: CaptainH (Cannon)   2016-07-20 19:49:00
作者: EngRookie (EngRookie)   2016-07-21 13:28:00
所以 arr2 = arr4 這句話成立嗎?
作者: boss0405 (boss)   2016-07-21 18:08:00
arr2 = arr4應該沒錯
作者: CoNsTaR ((const *))   2016-07-21 20:20:00
right-left rule 看一下不就知道了嗎…
作者: EngRookie (EngRookie)   2016-07-22 14:04:00
我就是看完才打出後面那斷宣告解釋..只是沒把握 T__T
作者: TobyH4cker (Toby (我要當好人))   2016-07-23 12:30:00
(:

Links booklink

Contact Us: admin [ a t ] ucptt.com