为什么六种整数类型的每一种所表示的取值范围度会根据机器的不同而不同 。如果我想了解,要看什么书。
谭浩强的c语言程序设计
和机器无关,和编译器有关。你用turbo c编译,即便用的是64bit的windows 10,int 也是16bir
建议你看C primer
一种语言,基本数据类型因为编译器的不同而不同,这在今天看上去很雷人。但是C语言是一种充满缺陷和坑的古老的语言。
也许它的标准制定者自以为聪明地认为,这样做,那些16bit的程序不用修改源代码就变成了32bit,这多省事。
但是他们后来又发现了问题,于是long=int。多么有病的设计。
这个问题属于Windows的遗留问题,早期版本的Windows有16位的,所以那时候的int之类的长度定义是为了16位的系统工作的,
而32位的系统出现后,就修订了一部分基本类型,所以现在直接是win32程序,现在很少有机会接触16位系统,因此你可以只记住
32位下的类型就好了。入门就看上楼说的谭浩强的《c语言程序设计》吧,因为很简单,《C primer》可以等你有点基础了再去看,
不然你会觉得太多不懂而丧失了兴趣。
我个人认为谭浩强的书不是很好,C语言很重要,想学好学扎实可以看看《c primer》和《c primer plus》,老外的书写的很好,感觉门槛并不高,很容易读懂适合初学者,你绝对能看懂