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

结构体变量占用内存空间(结构体占用内存怎么算)

  • 内存
  • 2024-07-30 14:53:59
  • 2523

一、共用体和结构体的区别1.不同的变量长度

结构体变量占用的内存长度是每个成员占用的内存总长度每个成员占用自己的内存单元。

联合变量占用的内存长度等于最长成员的长度。

2.占用空间不同

结构体同时存在,一次占用连续的内存空间;

Union由多个占用相同起始内存地址的Member共享,且只能存在一次,所以空间的大小就是最大所需要的空间。如果我们只看到统一,我们不知道里面存储的是什么。

3.不同存储空间的分配

结构体是由一系列相同类型或不同类型的数据组成的数据集合,简称结构体。在C语言中,可以定义一个struct类型,将多个相关的变量包装成一个整体来使用。结构中的变量可以具有相同、部分相似或完全不同的数据类型。

结构体类型定义只是用户构造的结构体但系统在定义时并没有为结构体类型分配存储空间。

参考来源:-c++社区

参考来源:-Structure


二、在C语言中如果只声明一个结构体类型,会占用内存吗,请指教,谢谢了如果你声明一个结构体变量
无论是否初始化,它都会占用内存空间,空间大小为sizeof(structname)。
如果你声明它只是一个结构体指针,它占用内存空间。4字节内存空间。sizeof(结构体名称*);