نطاقات
المتغيرات
أفعال

offsetof

من cppreference.com
< c | types
<tbody> </tbody>
معرفة في ملف <stddef.h>
#define offsetof(type, member) /*implementation-defined*/

الماكرو offsetof‎ يؤول إلى ثابت من النوع size_t‎ يعبر عن الإزاحة (offset) بالبايت من بداية بنية (struct) حتى عنصر محدد. تشمل الإزاحة الـ padding إن وجد.

مثال

#include <stdio.h>
#include <stddef.h>

struct S {
    char c;
    double d;
};

int main(void)
{
    printf("the first element is at offset %zu\n", offsetof(struct S, c));
    printf("the double is at offset %zu\n", offsetof(struct S, d));
}

خرج ممكن:

the first element is at offset 0
the double is at offset 8

أنظر أيضا

نوع عدد صحيح دون إشارة ينتج عن المعامل sizeof
(معرف بـ typedef) [edit]