Re: [問題] 完全不知道解釋的一段碼
※ 引述《saladim (殺拉頂)》之銘言:
: 在某人的網頁看到這段code, 原作者請原諒我 但是我想破頭無法解釋
: 真的很好奇這段code該怎麼解釋 所以po在這請問大家..... :
: code:
: typedef char a[2];
: typedef a b[3];
: b xd;
: printf("%d\n", sizeof(b));
sizeof(b) == 3 * sizeof(a) = 3 * 2 * sizeof(char) = 6
: printf("%d\n", sizeof(b[0]));
假設 zero length array 是合法的.
sizeof(b[0]) = 0 * sizeof(b) = 0
: printf("%d\n", sizeof(b[1]));
sizeof(b[1]) = 1 * sizeof(b) = 6
: printf("%d\n", sizeof(b[2]));
sizeof(b[2]) = 2 * sizeof(b) = 12
: printf("%d\n", sizeof(b[0][0]));
假設 zero length array 是合法的.
sizeof(b[0][0]) = 0 * 0 * sizeof(b) = 0
你應該是把這個跟 sizeof(xd[0]) 搞混了?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.217.49
推
12/17 00:55, , 1F
12/17 00:55, 1F
→
12/17 00:56, , 2F
12/17 00:56, 2F
→
12/17 00:56, , 3F
12/17 00:56, 3F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章