當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


C語言 offsetof用法及代碼示例

C語言stddef頭文件(stddef.h)中offsetof宏的用法及代碼示例。

用法:

offsetof (type,member)
返回成員偏移
具有函數形式的此宏以成員字節為單位返回偏移值成員在數據結構或聯合類型中類型

返回的值是類型的無符號整數值size_t與指定字節之間的字節數成員及其結構的開始。

參數

type
一種類型,其中成員是有效的會員指定人。
member
的成員類型

返回值

類型值size_t偏移值為成員類型

示例

/* offsetof example */
#include <stdio.h>      /* printf */
#include <stddef.h>     /* offsetof */

struct foo {
  char a;
  char b[10];
  char c;
};

int main ()
{
  printf ("offsetof(struct foo,a) is %d\n",(int)offsetof(struct foo,a));
  printf ("offsetof(struct foo,b) is %d\n",(int)offsetof(struct foo,b));
  printf ("offsetof(struct foo,c) is %d\n",(int)offsetof(struct foo,c));
  
  return 0;
}


輸出:
offsetof(struct foo,a) is 0
offsetof(struct foo,b) is 1
offsetof(struct foo,c) is 11


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C offsetof function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。