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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

c语言中各数据类型在内存中的存储方式基本的数据类型有:int4long4short2signedchar1unsignedchar1unsignedlong4unsignedshort2float4double8基本为: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│└───┴───┴───┴───┘

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功