推 Knossos:sizeof(void *)不是4嗎?怎麼會比sizeof(long)大? 12/09 21:31
→ ric2k1:sizeof(long) = sizeof(long int) = 4 12/09 22:32
→ ric2k1:sizeof(long long) 才 = 8... 12/09 22:32
推 timrau:我查到的是sizeof(long) <= sizeof(long long)耶.... 12/09 22:32
→ ric2k1:其實 int 分為 short int and long int, 一般在用的 int 12/09 22:33
→ ric2k1:其實就是 long int... 而 short int 就是 short. 12/09 22:34
推 timrau:For example in Turbo C++, sizeof(long)=4 while 12/09 22:40
→ timrau:sizeof(size_t)=2 12/09 22:40
→ ric2k1:說實在的 Turbo C++ 這樣蠻奇怪的, 雖然我後來查到 12/10 00:39
→ ric2k1:ISO/IEC 9899:1990 was withdrawn... 不過 size_t 應該通常 12/10 00:40
→ ric2k1:是用來存 number of objects (如 array size), 12/10 00:41
→ ric2k1:so it must be big enough to hold the "maximum number 12/10 00:42
→ ric2k1:of objects" that can be hold. 2^16 = 65536 也太少了吧? 12/10 00:42
推 lionel20002:dev-C++sizeof(size_t)是4 compiler有差?? 12/10 06:06