主题:【贴图】最近看的一些令人蛋疼的好图(四) -- 李根
事实上C确实没有规定int该是几字节,好像只规定了不少于几字节。这件事情相当麻烦,因为你不知道自己写的变量会编译成多少位的,够不够用。好在后来主流的编译器有了一定的默契,彼此相差不会太大。
记得很久以前在绝大多数的编译器上,long和int就一样都是4字节了,而short是2字节,不分16位机还是32位。
倒是现在64位平台流行以后,又有点搞不清楚了,像x86-64上的gcc,int就是8个字节的。不过这次大家总算有点稻草可捞,赶在世纪末之前制定的C99标准,提供了一个头文件stdint.h,里面定义了一堆诸如int32_t,int64_t之类的玩意,拗口是拗口,到底让程序员有法子说清楚了,自己到底要的是几位。
顺便说一句,C++最新的标准没出来之前,一直被称作C++0x,意即预计200x年能通过,换言之最迟2009。不过大家显然低估了业界各个大佬扯皮的功力,这个标准一直拖到去年才通过,于是我们就有了C++11……看来有了上回千年虫的教训,计算机界对2012还是比较敬畏滴。
- 相关回复 上下关系8
🙂这群公知被讽刺的很厉害呀 逍遥蜀客 字0 2012-03-03 01:29:18
🙂忍俊不禁,狂笑 旷野风 字58 2012-03-03 00:54:08
🙂int类型那题应该反问 王二狗 字28 2012-03-02 23:55:26
🙂打个岔,技术一下
🙂X86_64上int的gcc还是4 bytes的 2 szxy 字161 2012-03-05 08:53:34
🙂你是对的 发了胖的罗密欧 字120 2012-03-05 15:01:12
🙂恩,应该是printf自己做了类型转换了 szxy 字0 2012-03-05 21:31:31
🙂printf()用的是变长参数列表 1 发了胖的罗密欧 字186 2012-03-06 05:22:25