C makro biblioteki - offsetof ()
Biblioteka standardowa języka C - <stddef.h>
opis
C makro bibliotekioffsetof (typ, członek-desygnatora) generuje stały typu INTEGER size_t,który jest członkiem strukturalną konstrukcji w stosunku do bajta początku offsetowego. Użytkownik przez członków danej desygnatora, w nazwie typu konstrukcji jest podany.
oświadczenie
Oto offsetof () makropolecenia.
offsetof(type, member-designator)
parametry
- Typ - jest to typ zajęć, w którym państwa-oznacznik jest ważny członek wskaźnika.
- członkiem-oznacznik - który jest członkiem wskaźnik typu klasy.
Wartość zwracana
To makro zwraca wartość typusize_t, pokazując przesunięcia typ członków.
Przykłady
Poniższy przykład demonstruje offsetof () Makro użytkowania.
#include <stddef.h> #include <stdio.h> struct address { char name[50]; char street[50]; int phone; }; int main() { printf("address 结构中的 name 偏移 = %d 字节。\n", offsetof(struct address, name)); printf("address 结构中的 street 偏移 = %d 字节。\n", offsetof(struct address, street)); printf("address 结构中的 phone 偏移 = %d 字节。\n", offsetof(struct address, phone)); return(0); }
Załóżmy, skompilować i uruchomić powyższy program, który spowoduje w następujących przypadkach:
address 结构中的 name 偏移 = 0 字节。 address 结构中的 street 偏移 = 50 字节。 address 结构中的 phone 偏移 = 100 字节。