【转】C语言常见类型占用字节数

来源:本站
导读:目前正在解读《【转】C语言常见类型占用字节数》的相关信息,《【转】C语言常见类型占用字节数》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《【转】C语言常见类型占用字节数》的详细说明。
简介:最近笔试经常遇到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个字节长度。

查看所占用的长度

可以使用sizeof()来查看所占用的长度,如下:

#include #include using namespace std;int main(int argc, const char * argv[]) {    // insert code here...        char *p;    cout<<"char: "<<sizeof(char)<<endl;    cout<<"int: "<<sizeof(int)<<endl;    cout<<"short: "<<sizeof(short)<<endl;    cout<<"long: "<<sizeof(long)<<endl;    cout<<"*: "<<sizeof(p)<<endl;    cout<<"float: "<<sizeof(float)<<endl;    cout<<"double: "<<sizeof(double)<<endl;        return 0;}

输出结果如下:

char: 1int: 4short: 2long: 8*: 8float: 4double: 8

提醒:《【转】C语言常见类型占用字节数》最后刷新时间 2024-03-14 00:55:49,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《【转】C语言常见类型占用字节数》该内容的真实性请自行鉴别。