作者EngRookie (EngRookie)
看板C_and_CPP
標題[問題] 關於陣列指標的疑問
時間Wed Jul 20 17:09:19 2016
大家午安,小弟有一點問題關於陣列以及指標,如下:
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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1469005761.A.AF7.html
1F:→ testPtt: 8個連續空間的int* 07/20 18:53
2F:推 yvb: google: C Operator Precedence 07/20 19:22
4F:→ EngRookie: 所以 arr2 = arr4 這句話成立嗎? 07/21 13:28
5F:推 boss0405: arr2 = arr4應該沒錯 07/21 18:08
6F:→ CoNsTaR: right-left rule 看一下不就知道了嗎… 07/21 20:20
7F:→ EngRookie: 我就是看完才打出後面那斷宣告解釋..只是沒把握 T__T 07/22 14:04
8F:→ TobyH4cker: (: 07/23 12:30