Re: [語法] 如何使用int (*(*Y)[4])[5]?
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):