c语言中各数据类型在内存中的存储方式.docx
- 文档编号:4824110
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:7
- 大小:14.44KB
c语言中各数据类型在内存中的存储方式.docx
《c语言中各数据类型在内存中的存储方式.docx》由会员分享,可在线阅读,更多相关《c语言中各数据类型在内存中的存储方式.docx(7页珍藏版)》请在冰豆网上搜索。
c语言中各数据类型在内存中的存储方式
c语言中各数据类型在内存中的存储方式
基本的数据类型有:
int4
long4
short2
signedchar1
unsignedchar1
unsignedlong4
unsignedshort2
float4
double8
基本为:
char1字节
short2字节
int4字节
long4字节
float4字节
double8字节
typedefstruct
{
char;
char;
short;
};
charcharshort类型的结构体占4字节内存。
┌───┬───┐
│char│char│2字节
└───┴───┘
┌───┬───┐
│short│2字节
└───┴───┘
typedefstruct
{
short;
char;
char;
}
Shortcharchar类型的结构体占4字节内存.
┌───┬───┐
│short│2字节
└───┴───┘
┌───┬───┐
│char│char│2字节
└───┴───┘
typedefstruct
{
char;
short;
char;
}csc;
Charshortchar类型的结构提占6字节内存,以short做2字节对齐
┌───┬┄┄┄┐
│char│null│2字节
└───┴┄┄┄┘
┌───┬───┐
│short│2字节
└───┴───┘
┌───┬┄┄┄┐
│char│null│2字节
└───┴┄┄┄┘
typedefstruct
{
double;
char;
char;
char;
}
doublecharcharchar类型的结构体占16字节内存
8字节
┌───┬───┬───┬───┬───┬───┬───┬───┐
│double│
└───┴───┴───┴───┴───┴───┴───┴───┘
8字节
┌───┬───┬───┬┄┄┄┬┄┄┄┬┄┄┄┬┄┄┄┬┄┄┄┐
│char│char│char│null│
└───┴───┴───┴┄┄┄┴┄┄┄┴┄┄┄┴┄┄┄┴┄┄┄┘
typedefstruct
{
char;
char;
double;
char;
char;
char;
}
charchardoublecharchar类型的结构体占24字节内存
8字节使用2字节空余6字节
┌───┬───┬┄┄┄┬┄┄┄┬┄┄┄┬┄┄┄┬┄┄┄┬┄┄┄┐
│char│char│null│
└───┴───┴┄┄┄┴┄┄┄┴┄┄┄┴┄┄┄┴┄┄┄┴┄┄┄┘
8字节
┌───┬───┬───┬───┬───┬───┬───┬───┐
│double│
└───┴───┴───┴───┴───┴───┴───┴───┘
8字节使用3字节空余5字节
┌───┬───┬───┬┄┄┄┬┄┄┄┬┄┄┄┬┄┄┄┬┄┄┄┐
│char│char│char│null│
└───┴───┴───┴┄┄┄┴┄┄┄┴┄┄┄┴┄┄┄┴┄┄┄┘
typedefstruct
{
char;
int;
double;
char;
char;
char;
int;
}
charintdoublecharcharcharint类型的结构体占用24字节内存
8字节使用2字节空余6字节
┌───┬┄┄┄┬┄┄┄┬┄┄┄┬───┬───┬───┬───┐
│char│null│int│
└───┴┄┄┄┴┄┄┄┴┄┄┄┴───┴───┴───┴───┘
8字节
┌───┬───┬───┬───┬───┬───┬───┬───┐
│double│
└───┴───┴───┴───┴───┴───┴───┴───┘
8字节使用3字节空余5字节
┌───┬───┬───┬┄┄┄┬───┬───┬───┬───┐
│char│char│char│null│int│
└───┴───┴───┴┄┄┄┴───┴───┴───┴───┘
typedefstruct
{
char;
short;
int;
double;
char;
int;
float;
}
charshortintdoublecharintfloat类型的结构体占用32字节内存
8字节使用2字节空余6字节
┌───┬┄┄┄┬───┬───┬───┬───┬───┬───┐
│char│null│short│int│
└───┴┄┄┄┴───┴───┴───┴───┴───┴───┘
8字节
┌───┬───┬───┬───┬───┬───┬───┬───┐
│double│
└───┴───┴───┴───┴───┴───┴───┴───┘
8字节使用3字节空余5字节
┌───┬┄┄┄┬┄┄┄┬┄┄┄┬───┬───┬───┬───┐
│char│null│int│
└───┴┄┄┄┴┄┄┄┴┄┄┄┴───┴───┴───┴───┘
8字节使用3字节空余5字节
┌───┬───┬───┬───┬┄┄┄┬┄┄┄┬┄┄┄┬┄┄┄┐
│float│null│
└───┴───┴───┴───┴┄┄┄┴┄┄┄┴┄┄┄┴┄┄┄┘
对上一个结构体做位置变更,查看内存占用情况
typedefstruct
{
char;
char;
short;
int;
int;
float;
double;
}
经过位置变更,占用内存为24字节
┌───┬───┬───┬───┬───┬───┬───┬───┐
│char│char│short│int│
└───┴───┴───┴───┴───┴───┴───┴───┘
┌───┬───┬───┬───┬───┬───┬───┬───┐
│int│float│
└───┴───┴───┴───┴───┴───┴───┴───┘
┌───┬───┬───┬───┬───┬───┬───┬───┐
│double│
└───┴───┴───┴───┴───┴───┴───┴───┘
typedefstruct
{
short;
char;
char;
char;
int;
}
shortcharcharcharint类型的结构体占用12字节内存
4字节
┌───┬───┬───┬───┐
│short│char│char│
└───┴───┴───┴───┘
4字节使用1字节剩余3字节
┌───┬┄┄┄┬┄┄┄┬┄┄┄┐
│char│null│
└───┴┄┄┄┴┄┄┄┴┄┄┄┘
4字节
┌───┬───┬───┬───┐
│int│
└───┴───┴───┴───┘
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据类型 在内 中的 存储 方式