c++ - 如何计算C中结构的大小?

标签 c++ c struct

我有以下结构

struct node{
    int value;
    struct node *next;
    struct node *prev;
};

而且我认为大小必须大于 sizeof(integer)。

但是如何计算这个结构的整体大小令人困惑。

那么如何计算尺寸呢?

我的意思是我想用手手动计算,而不是用电脑...

最佳答案

大小至少为sizeof(int) + sizeof(struct node *) + sizeof(struct node *)。但它可能更多,因为编译器可以根据需要向您的结构添加填充字节

sizeof(int)sizeof(struct node*) 有多大取决于您的系统。如果您有一个 32 位系统,它们很可能每个都是 4 个字节,或者如果您有一个 64 位系统,它们可能是 8 个字节。但真正确定的唯一方法是使用编译器打印出大小。

关于c++ - 如何计算C中结构的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986667/

相关文章:

c++ - 绑定(bind)C++函数和以类为参数调用Lua函数

c++ - 平均值、RMS 和过零数数组 c++

Eigen 动态大小矩阵的 C++ 数组

c - 在C中重新分配内存

有人可以帮我 C

json - 从 JSON 字符串值解析 JSON

go - 为什么我对数组中嵌套结构的更改会在进行更改的函数之外丢失?

c++ - 最快的素数测试算法

java - 与 Java 相比,Android C 是否具有更好的性能?

c - 如何访问嵌套结构中的指针