溫馨提示×

如何通過offsetof宏獲取結構體成員的偏移量

小樊
89
2024-09-06 20:26:31
欄目: 編程語言

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 a、char bdouble c。然后,我們使用 offsetof 宏分別計算這些成員在內存中的偏移量,并將結果打印到控制臺。

注意:offsetof 宏的第一個參數是結構體類型,第二個參數是結構體成員的名稱。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女