在C语言的变量类型说明中,int,char,float等类型的长度是不是是固定的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C语言的变量类型说明中,int,char,float等类型的长度是不是是固定的?相关的知识,希望对你有一定的参考价值。

相同编译器当然是固定的,但不同编译器给它们分配的内存是不同的,也就是说它的大小取决于你用的编译器,你可以用sizeof(int)等来求出它们的字节数 参考技术A char
长度固定,
1个字节
float
长度固定,
4
个字节
short
int
长度固定,
2个字节
long
int
长度固定,
4
个字节
int
长度
取决于编译器把它处理成
long
还是
short。
例如,VC++
处理成
long
int,
TC
处理成
short
int.
当然可以用
sizeof(int)算出。
参考技术B 具体不大一样,char型在任何情况下都是占1个字节,而比如int型,它的长度与环境的字长相同,在16位的环境中,它占16位,2个字节;32位环境中占4个字节。
所以,如果在编程中牵扯到类型或变量的字长问题,建议用sizeof()获取,较为保险,不要想当然的认为多少就是多少

c语言中计算int,float,double,char四种数据类型所能表示的数据范围

在C语言程序设计时可能会因为变量之间的运算而导致溢出,使得最终结果我不我们要的数值,这里列出C语言中几种常用类的最大值最小值(10进制)以供参考:

整型[signed]int -2147483648~+2147483648
无符号整型unsigned[int] 0~4294967295
短整型 short [int] -32768~32768
无符号短整型unsigned short[int] 0~65535
长整型 Long int -2147483648~+2147483648
无符号长整型unsigned [int] 0~4294967295
字符型[signed] char -128~+127
无符号字符型 unsigned char 0~255
单精度 float 3.4 x 10^(-38)~ 3.4 x 10^(+38)
双精度double 1.7 x 10^(-308)~ 1.7 x 10^(+308)
长双精度 long double 1.7 x 10^(-308)~ 1.7 x 10^(+308)

以上是关于在C语言的变量类型说明中,int,char,float等类型的长度是不是是固定的?的主要内容,如果未能解决你的问题,请参考以下文章

在C语言中,unsigned char是啥类型

C语言中能否在一条定义语句中定义多个不同类型变量?举例说明

C语言变量的基本类型都有哪些?

3.8大基本数据类型详解

C语言举例说明啥情况下会发生自动类型转换

什么是unsigned char;;?