c语⾔变量长度查询,C语⾔变量长度
转载⽂章⼀:
char/signed char/unsigned char: 1个字节;
char*(即指针变量):
2个字节(16位编译器)
4个字节(32位编译器)
8个字节(64位编译器)
short int: 2个字节
int/unsigned int:
2个字节(16位编译器)
4个字节(32/64位编译器)
long int: 4个字节
float: 4个字节
double: 8个字节
long double: 8/10/12/16?
long/unsigned long:
4个字节(16/32位编译器)
8个字节(64位编译器)
long long: 8个字节
string: 字符个数+1
转载⽂章⼆:
C语⾔的基本数据类型有以下⼏个: int 整型 char 字符型 float 单精度浮点型 double 双精度浮点型 另
外,在基本数据类型基础上附加⼀些限定词, 得到扩充的数据类型。short,long可以应⽤到整型, unsigned可以应⽤到整型和字符型: short int(或short) 短整型 long int(或long) 长整型 unsigned int ⽆符号整型 unsigned short ⽆符号短整型 unsigned long ⽆符号长整型 unsigned char ⽆符号字符型
整型C标准没有规定各类数据所占内存字节数,通常⼀个int型数据所占内存与计算机字长⼤⼩相同,为16位或32位,short型数据通常占16位,long型数据是32位。每种编译器可以为硬件选择适合的长度,仅受⼀些限制,如short 和int 型数据⾄少占16位,long型⾄少占32位, short型数据不能超过int型数据的字节数,⽽int型不长于long 型。  ⽆符号的数总是正数或零,服从数学式⼦2n,其中n是这种类型的⼆进制位数。例如,int型是16位,它的数据取值范围在-32768-32767之间,⽽unsigned int型数据取值范围在0-65535之间。下表
列出了不同机器上整型数据的取值范围。
16位机器
浮点型变量float32位机器
数据类型
所占位数
取值范围
所占位数
取值范围
int
16
-32768~32767
32
-21亿~21亿
short
16
-32768~32767
16
-32768~32767
long
32
-21亿~21亿
32
-21亿~21亿
unsigned int
16
0~65535
32
0~42亿
unsigned short
16
0~65535
16
0~65535
unsigned long
32
0~42亿
32
0~42亿
字符型字符型数据存储时占⽤8位,它实际存储的是字符对应ASCII码(美国标准信息交换码American Standard Code for Information Interchange)。如⼀个char型数据'A',其ASCII码为65,故实际存储的内容是65。unsigued char型数据取值范围为0-255,char型数据取值范围为-128-127。字符有符号或⽆符号是依赖于机器的,但是可打印的字符总是正的。    由于在内存中字符型数据是以ASCII码形式存放,其形式与整型类似,因⽽在C语⾔中,字符型数据与整型数据可以通⽤,字符型数据所有的性质与⼀字节整型量相同。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。