如何通过offsetof宏获取结构体成员的偏移量

   2024-09-30 3150
核心提示:offsetof 是一个 C 语言编程中的宏,用于计算结构体成员在内存中的偏移量#includestdio.h#include stddef.h // 提供 offsetof 宏

offsetof 是一个 C 语言编程中的宏,用于计算结构体成员在内存中的偏移量

#include<stdio.h>#include <stddef.h> // 提供 offsetof 宏的头文件typedef struct {    int a;    char b;    double c;} MyStruct;int main() {    // 使用 offsetof 宏获取结构体成员的偏移量    size_t offset_a = offsetof(MyStruct, a);    size_t offset_b = offsetof(MyStruct, b);    size_t offset_c = offsetof(MyStruct, c);    printf("Offset of 'a': %zu\n", offset_a);    printf("Offset of 'b': %zu\n", offset_b);    printf("Offset of 'c': %zu\n", offset_c);    return 0;}

在这个示例中,我们定义了一个名为 MyStruct 的结构体,其中包含三个成员:int achar bdouble c。然后,我们使用 offsetof 宏分别计算这些成员在内存中的偏移量,并将结果打印到控制台。

注意:offsetof 宏的第一个参数是结构体类型,第二个参数是结构体成员的名称。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号