您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 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│└───┴───┴───┴───┘
本文标题:c语言中各数据类型在内存中的存储方式
链接地址:https://www.777doc.com/doc-5923148 .html