在c语言中 占用的内存

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:16:16
我在计算机维护书中看到
一个汉字 占2字节
一个字母 占1字节
一个数字 占1字节
而在《21天学通C语言(第6版)》中看到
字母 x 占1字节
数字 500 占2字节
数字 241.105 占4字节
短语 Sams Teach Yourself C 占22字节
到底是那个正确的 ????
还是在c中和计算机维护不一样??/

c语言有不同的数据类型,计算机维护书中的字母和数字的意思是,字母和单个数字是字符型的,用ASC码表示,占一个字节,汉字是双字型的DWORD,占两个字节。
而21天那书中意思明显是,x表示一个字符“x”,数据类型是字符型char,占一个字节,数字500是short int类型的数据,占双字节,short int类型表示的范围是-32768到32767,所以表示500这个数用short int就可以
数字241.105是浮点数,计算机中浮点类型float占用4个字节表示。
所以两本书中“数字”不是一回事,一个是数字字符和字母字符,一个是实际的数字
好好看看数据类型这块知识

那个一般是以前的系统了16位的 现在一般是32位
不同的计算机他们的字母 数字等所占字节数不同。
但是一个字符一般都只占一个字节 而整数一般占
2个或4个字节 在C语言中 有个sizeof函数。
你定义个整数 i n
int i,n;
n=sizeof(i);
再输出n的只看是几 就代表几位了。。
printf("%d",n);
字符就用
char i;
int n;
还有实型 float i;
int n;

这个不必理会的
占多少内存没有绝对的数值
数字的类型有很多种 short int long float double都是
各占内存不同 不同机器上不同编译器也各有差别

用sizeof(char)sizeof(int)sizeof(float)就知道了,具体占用内存会跟机器架构有关系,你试试就知道了