⑴ c语言类型所占字节数
类型
常见的有char、int、long、short、float、double及指针等.
字符类型
这里单只char,char变量在内存中存储的是字符对应的ASCII码值。所以长度也是固定的,为1个字节。
整数类型
查了资料发现对各个类型的整数占用字节数是有一个规定的,虽然16位32位或者64位的机子各种类型所占用的长度并不一样。规则如下:
short 至少占用2个字节。
int 建议为一个机器字长。32位环境下机器字长为4字节,64位环境下机器字长为8字节。
short 的长度不能大于 int,long 的长度不能小于 int。
所以说,short并不一定短,long并不一定短,有可能都和int一样长。
浮点数(小数)
C中浮点数有两种,float和double,不像整数,小数的长度始终是固定的,float占用4个字节,double占用8个字节。
指针
C中指针即为地址,所以编辑器的寻址空间则是指针的地址范围。所以指针变量在32位机器的寻址空间为2^32,要将所有地址都表示出来则需要为4个字节长度,所以要占用4个字节长度。同理64位的编译器则需要8个字节长度。
⑵ 在C语言中各种数据类型各占多少位
(一)32位平台:
分为有符号型与无符号型。
有符号型:
short 在内存中占两个字节,范围为-2^15~(2^15-1)
int 在内存中占四个字节,范围为-2^31~(2^31-1)
long在内存中占四个字节,范围为-2^31~2^31-1
无符号型:最高位不表示符号位
unsigned short 在内存中占两个字节,范围为0~2^16-1
unsigned int 在内存中占四个字节,范围为0~2^32-1
unsigned long在内存中占四个字节,范围为0~2^32-1
实型变量:
分单精度 float 和双精度 double 两种形式:
float:占四个字节,提供7~8位有效数字。
double: 占八个字节,提供15~16位有效数字。
(二)16位平台:
1)整型(基本型):类型说明符为int,在内存中占2个字节。
2)短整型:类型说明符为short int或short。所占字节和取值范围均与整型(基本型)相同。
3)长整型:类型说明符为long int或long,在内存中占4个字节。
无符号型:类型说明符为unsigned。
无符号型又可与上述三种类型匹配而构成:
各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。但由于省去了符号位,故不能表示负数。
实型变量:
分为单精度(float型)、双精度(double型)和长双精度(long double型)三类。
单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。
双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。
长双精度型16 个字节(128位)内存空间,可提供18-19位有效数字。
⑶ C语言中字符占多少个字节
1、在32位系统中:
char(1)字节
short(2)字节
int(2)字节
long(4)字节
char*(4)字节
int*(4)字节
int**(4)字节
2、在64位系统中:
char(1)字节
short(2)敏姿字节
int(4)字节
long(8)字节
char*(4)字节
int*(4)字节
int**(4)字节
扩桥薯绝展资料
在C++中short占2字手镇节,int、float、long都占4字节,double占8字节。
指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节。
char占1字节,short占2字节,int、float、long都占4字节,double占8字节,任意类型的指针都占4个字节。
⑷ 一个数字在C语言中是多少个字节
在C语言中,一个数字占4个字节或8个字节。(以下试验都是基于32位计算机系统)
当该数字为整数时,占4个字节(默认转换为int类型);
当该数字为小数时,占8个字节(默认转换为double类型)。
可以通过如下的程序段来验证:
printf("%d\n",
sizeof(4));
//
输出4,即占4个字节(转换为int类型,相当于sizeof(int))
printf("%d\n",
sizeof(4.5));
//
输出8,即占8个字节(转换为double类型,相当于sizeof(double))
⑸ c语言int占用几个字节啊
在C/C++语言中,int和long int的所占的字节数与编译器有关。
不过现在常用的编译器多认为int和long int相同,均为4字节,short为2字节,char为1字节。
如果只输入int,它是可以包含以上三种形式。
不同的语言不太一样,例如在Pascal中integer为2字节,byte为1字节,而longint为4字节。
建议您最好参考您桐袭的编译器的具体帮助,以得到更准确的信息。
使用前最好sizeof(int) 看看当前编译器如何定义的。
依据程序编译器的不同,int定义的字节数不同。(数据占用内存储器的大小不同)
常用的单片机编译器,如KEIL下,51类单片机的C语言中,int代表2个字节(16位);如果是32位RAM处理器的C语言中,则int代表4个字节(32位)
PIC单片机的PICC中8位系列单片机的C语言里int表示16位。
而不少PC端软件的编译器则会根据操作系统或处理器(如64位XP)把int定义为8字节(64位)
所以在多平台上编程的人员需要在使用时注意。
如需定义16位数,可使用short(短、短整数类型)定义。
(5)c语言中占几个数据字节扩展阅读:
在一般的电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]。
在之前的微型机中,int占用2字节,16比特,数据范围为卜轮消-32768~32767[-2^15~2^15-1]。
使用printf输出int占用字节数量:
除了int类型之外,还有short、long、long long类型可以表示整数。
unsigned int 表示无符号整数,数据范围为[0~2^32-1]。
参考链接:INT(数据类型)_百型知度网络
⑹ C语言字符数占几个字节,又是多少位。
这个要看字符数是什么数据类型,可以用sizeof(类型)操作符来测试字节数。
1、英文字母:如果是char 型,那么是占用1个字节,8位。如果是string型,应该是两个字节,16位,因为末尾还有个\0字符。
比如:
char c = 'a';//它占用一个字符
char c[] = "a";//占用两个。
char c[] = "abcde";//占用4+1 = 5 个,结尾有一个'\0'
2、数字:有很多种类,从小到大分别为:
short、int、float、long、double
字节为:1个、2个、4个、8个、8个
位数为:8位、16位、32位、64位、64位
3、汉字:理论上说,一个汉字占用两个字节,16位。比如:中国,就占用4个字节,例如:
char c[] = "中国";//占用4+1 = 5个字符
⑺ C语言中,一个字节到底有多少个字符
我真的搞不清楚你到底想问什么,而且你有的表述也不准确严谨
所以只好把基本的单位先说下。
比特(bit)即一个二进制位 例如100011就是6比特
字节(byte)这是计算机中数据类型最基本的单位了,8bit 组成1byte
字(word)银悉两个byte称为一个word,所以字大小应该是16位bit,共两字节
双字(double word 简写为DWORD)见名知意,两个字,四个字节,32bit
在C语言中,每种数锋简乎据类型都有其存储长度。而且在特定的平台和特定的编译器下是不一样的。
由于WIN32平台用的很多,使用visual studio来做C程序的也有很多(我就是使用visual studio 6.0来学习C语言的),所以我说下这种情况(在Visual C++ 2005 中的)。
char 字符型 占1byte 即8位,一个char型数据(例如:a、#、!之类的)用了1个字节来存储
unsigned char 无符号的字符型 占1byte 即8位 它主要是为了能够兼容扩展ASCII码,由于 char 由8位表示表示范围为 -128 - +127,无法表示带上扩展ASCII码总共256个字符所以如果把 8位中的最高位符号位也用来计数,就可以正好表示256个字符,unsigned char 表示范围为 0 - 255 正好256个数可以对应包含扩展ASCII码在内的共计256个ASCII字符
汉字在计算机中存储是使用机内码(一种数字编号)来存储的,而常用汉字不过是几万个,如果用16位比特(即2的16此方等于65536)就可以表示了,所以汉字字符存储使用了两个字节。每两个字节即16bit对应一个汉字。
int 整型数据 占4byte 即32位,一个int型数据的长度用了4个字节来存储
short 短整型 占2byte 即16位,两个字节。
long 长整型 占4byte 即32为咐闹,四个字节
float 单精度浮点型 占4byte 即32位,四个字节
double 双精度浮点型 占8byte 即64位,八个字节
假如你使用的不是 visual studio 编译器 或者不是在win32环境下编程,以上的陈述可能就不对,我建议你查看一下 可以使用int i = sizeof(char)或者
sizeof(int)来看看i的值,如果i == 4,表示一个当前的数据类型占四个字节
⑻ C语言中,各种类型的整型数据在内存中都占用4个字节吗
不是。
C标准并没有具体给出规定哪个基本类型应该是多少个字节数,而且这个也与OS、编译器有关,比如同样是在32位操作系统,VC++的编译器下int类型为4个字节,而在tuborC下则是2个字节。
整型类型在虽然16位、32位或者64位的机子各种类型并不一样,但有几条规则(ANSI/ISO制定):
short至少占用2个字节。
int建议为一个机器字长,32位环境下为4字节,64位环境下为8字节。
short的长度不能大于int,long的长度不能小于int。
(8)c语言中占几个数据字节扩展阅读
整型数据分为基本整形(int)、短整型(short int)、长整型(long int)以及新添加的双长整型(long long int)。
基本整形(int):一般占据2个或者4个字节,这都是有编译系统决定的。一般来讲在vc中计算机给它分配4个字节,在计算机中整型数据一般是按补码和销段的形式存储的。
短整型(short int):在vc中计算机分配给唤誉短整型的内存大小为2个字节。存储方式与基本整形相同,一个短整型的数据范围是:-32768-32767。
长整型数斗毕据(long int):在vc中系统分配给它4个字节,多以一个长整型数据的范围为-2的31次方到2的31次方减一。
双长整型(long long int):在vc中系统给它分配8个字节,这种数据类型一般比较少用。
⑼ C语言中一个英文字母.汉字.数字 分别都占几个字节啊
1、英文字母:如果是char 型,那么是占用1个字节,如果是string型,应该是两个。
char c = 'a';//它占用一个字符
char c[] = "a";//占用两个。
char c[] = "abcde";//占用4+1 = 5 个,结尾有一个'