الاسم
- Provided by: manpages-ar-dev (Version: 4.31.0-1)
- Source: manpages-l10n
- Report a bug
مكتبة سي المعيارية (libc، -lc)
#include <stddef.h>
size_t offsetof(type, member);
تعيد الكلية offsetof() إزاحة الحقل member من بداية البنية type.
هذه الكلية مفيدة لأن أحجام الحقول المكونة للبنية قد تختلف عبر التطبيقات، وقد تُدرج المصرّفات أعدادًا مختلفة من البايتات الحشوية بين الحقول. وبالتالي، لا تُعطى إزاحة عنصر بالضرورة بمجموع أحجام العناصر السابقة.
سينجم خطأ في المصرّف إذا لم يكن member محاذيًا لحد بايت (أي إذا كان حقل بتات).
تعيد offsetof() إزاحة member المعطى ضمن type المعطى، بوحدات البايت.
C11, POSIX.1-2008.
POSIX.1-2001، C89.
على نظام Linux/i386، عند الترجمة باستخدام خيارات gcc(1) المبدئية، يُنتج البرنامج أدناه المخرجات التالية:
$ ./a.out offsets: i=0; c=4; d=8 a=16 sizeof(struct s)=16
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
int
main(void)
{
struct s {
int i;
char c;
double d;
char a[];
};
/* Output is compiler dependent */
printf("offsets: i=%zu; c=%zu; d=%zu a=%zu\n",
offsetof(struct s, i), offsetof(struct s, c),
offsetof(struct s, d), offsetof(struct s, a));
printf("sizeof(struct s)=%zu\n", sizeof(struct s));
exit(EXIT_SUCCESS);
}
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.