Re: [語法] 如何使用int (*(*Y)[4])[5]?

看板C_and_CPP作者 (我)時間15年前 (2010/10/16 02:14), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《azaz12345 (仁)》之銘言: : int (*(*Y)[4])[5]; : 這個宣告語法編譯可以過 : 但是要怎麼使用~一直試不出來 : 有誰知道嗎~~~~ : 我想到卡住了=.= 要解釋有點麻煩,試試下面的程式 typedef int IntArr5[5]; typedef IntArr5 * IntArr5Ptr; typedef IntArr5Ptr IntArr5x4[4]; void show(int (*(*Y)[4])[5]) { for(int row = 0; row < 4; ++row) { IntArr5Ptr pArr = (*Y)[row]; for(int col = 0; col < 5; ++col) printf("%d ", (*pArr)[col]); printf("\n"); } } int main() { IntArr5 a = {11,12,13,14,15}; IntArr5 b = {21,22,23,24,25}; IntArr5 c = {31,32,33,34,35}; IntArr5 d = {41,42,43,44,45}; IntArr5x4 e = {&a, &b, &c, &d}; show(&e); return 0; } 宣告成這樣是可以解讀,但何苦呢... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.246.50

10/16 02:26, , 1F
感謝解答
10/16 02:26, 1F
文章代碼(AID): #1Ck9djS_ (C_and_CPP)
文章代碼(AID): #1Ck9djS_ (C_and_CPP)