c语言中各数据类型在内存中的存储方式.docx

上传人:b****5 文档编号:4824110 上传时间:2022-12-09 格式:DOCX 页数:7 大小:14.44KB
下载 相关 举报
c语言中各数据类型在内存中的存储方式.docx_第1页
第1页 / 共7页
c语言中各数据类型在内存中的存储方式.docx_第2页
第2页 / 共7页
c语言中各数据类型在内存中的存储方式.docx_第3页
第3页 / 共7页
c语言中各数据类型在内存中的存储方式.docx_第4页
第4页 / 共7页
c语言中各数据类型在内存中的存储方式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

c语言中各数据类型在内存中的存储方式.docx

《c语言中各数据类型在内存中的存储方式.docx》由会员分享,可在线阅读,更多相关《c语言中各数据类型在内存中的存储方式.docx(7页珍藏版)》请在冰豆网上搜索。

c语言中各数据类型在内存中的存储方式.docx

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│

└───┴───┴───┴───┘

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1