当前位置:首页 > 内存 > 正文

结构体变量所占的内存大小

  • 内存
  • 2024-06-10 22:46:02
  • 4062

一、structstd{charch;inta[2];floatt;doublef;}std1;则结构体变量std1占用内存字节数为多少?占用24个字节。
char类型占用1个字节,int、float类型占用4个字节,double类型占用8个。
1+3+2*4+4+8=24。
1后面添加的是允许纠正第3个字节。


二、C语言中,在说明一个结构体变量时系统分配给它的存储空间怎么计算?structdog
{
charch[10];
inti;
int*p;
dog1;C语言中如何计算结构体长度和联合体长度?
结构体的长度是变量体中每个成员的长度。这题的长度是字符串数组的长度和两个int变量的长度,再加上一倍的长度,最终的结果是10+2+2+8=22。分析:每个char字符得到一个字符(因为一个字符是十个字符),所以它是10个字节,int得到两个字节,double得到8个字节。所以最后就是10+2*2+8=22。联合体的长度就是主体中成员的长度。如果联合的最大长度为12字节,则联合的长度为12字节。希望有帮助。如有任何问题?