自引用的结构体怎么计算占用内存空间

自引用的结构体怎么计算占用内存空间,就是定义一个结构体类型,然后里面有各种基本类型的变量还有本结构体类型的指针,这种情况下怎么判断内存空间

你所谓的自引用的结构体无非就是比正常结构体多一个指向本结构体类型的指针而已。所以就是普通的结构体计算大小的方式,除了本结构体自身大小,还要加上内存对齐的大小。简单的办法就是sizeof(MyClass)就好了。有帮助请采纳,谢谢!

用sizeof函数输出下就行
例如:

#include <stdio.h>
int main()
{
    typedef struct a
    {
        int c;
        double d;
        char b[10];
    }test;
    test  e;
    printf("%d", sizeof(test));
    return 0;
}


img

本结构体类型的指针
指针就按指针的长度直接算就好,不同类型的指针长度都一样的
你只是定义了一个指针,而没有分配一个新的结构体进去
有帮助望采纳

指针一般就是8字节,把其它成员的字节数加上8就行了