可以使用 sizeof 运算符来获取结构体的大小,例如:

#include <stdio.h>

struct foo {
    int a;
    char b;
    double c;
};

int main() {
    struct foo myfoo;
    printf('sizeof(struct foo) = %zu\n', sizeof(struct foo));
    printf('sizeof(myfoo) = %zu\n', sizeof(myfoo));
    return 0;
}

输出:

sizeof(struct foo) = 16
sizeof(myfoo) = 16

除了 paholesizeof,还可以使用反射机制来获取结构体大小。在C语言中,没有内置的反射机制,但可以使用第三方库来实现,例如 libffiGLibGObject 类型系统。

C语言获取结构体大小:pahole、sizeof及其他方法

原文地址: https://www.cveoy.top/t/topic/nF2K 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录