2024年 3月 26日
数据类型长度是编译器决定的?
没错。不要看硬件和OS是32位或者64位,数据类型并不是直接与它们相关,而是编译器决定的。大部分编译器都会提供类似type_size的函数,以返回不同数据类型的大小,这个大小和编译器自身有关。
没错。不要看硬件和OS是32位或者64位,数据类型并不是直接与它们相关,而是编译器决定的。大部分编译器都会提供类似type_size的函数,以返回不同数据类型的大小,这个大小和编译器自身有关。
Intel i386 32位设计的硬体,默认的数据寄存器、地址寄存器都是32位,即一次数据操作或者地址访问以32位为最优。C语言程序为了更好适应这种情况,大部分32位编译器都将int类型设计成4字节。...
以C语言为例,它为了支持不同硬件平台,在计算机早期,硬件资源包括内存资源非常紧张,C语言标准不能直接规定int类型就是16位或者32位,这样会造成其它平台不能运行。故,标准做了取舍,不规定int类型的...
整型类型因其自然与硬件寄存器对应,早在Fortran语言就已经有各种整型的类型。不同语言对于整型类型名称各有不同,有的用Integer,有的用int,还有用Int32.
作为基本类型,一般而言,编译器对于int和long的大小设计是不同的。尤其是16位系统演变成32位系统和32位系统演变成64位系统,差异尤为明显。编译器为32位系统一般定义int为4字节,long同样...