offsetof
من cppreference.com
<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) | |
مقالة مرجع C++ عن offsetof
| |