stddef.h
stddef.h care înseamnă „header standard definition” este un fișier header inclus în biblioteca standard C care definește macro-ul NULL și offsetof și tipurile ptrdiff_t , wchar_t și size_t .
Includere
În C, fișierul antet „stddef.h” este inclus prin tastarea:
#include <stddef.h>
/ * ... * /
În C ++, în schimb, includeți fișierul antet „cstddef”, scriind:
#include <cstddef>
// ...
Spațiu de nume
Fișierul antet „stddef.h” își pune definițiile la nivel global; fișierul header „cstddef“ în loc Sunt puse size_t și ptrdiff_t în spațiul de nume Amb.
NUL
Este o macro care se extinde la un indicator constant constant. Poate fi definit ca ((void *) 0), 0 sau 0L (zero Long) în funcție de compilator și limbă.
offsetof (tip, membru)
O macro funcțională utilizată pentru a determina compensarea în octeți a câmpului membru al unei structuri de tipul indicat.
Exemplu:
typedef struct provola
{
greutatea int ;
culoare char ;
} PROVOLA ;
int main ()
{
...
printf ( "% d" , offsetof ( PROVOLA , culoare ));
}
Programul de mai sus imprimă pe ecran numărul de octeți din care se găsește culoarea; de exemplu, dacă sizeof (int) este 4 va da 4.
Tastați size_t
Tipul size_t este tipul adecvat pentru reprezentarea dimensiunii obiectelor din zonele de memorie și pentru dereferențierea elementelor unui tablou. Are o dimensiune care depinde de implementare; are de obicei o reprezentare pe 32 de biți pe sisteme pe 32 de biți și o reprezentare pe 64 de biți pe sisteme pe 64 de biți. Este nesemnat . Are o variantă semnată , ssize_t , definită în fișierul antet UNIX , „unistd.h”.
Tastați wchar_t
Acesta înseamnă „tip de caracter larg” și este un tip destinat să reprezinte un caracter generic (mai generic decât char care reprezintă doar caracterele codului ASCII ); este predefinit în C ++ în timp ce necesită fișierul antet „stddef.h” sau „wchar.h” în C.
Tastați ptrdiff_t
Tipul ptrdiff_t este utilizat pentru a menține rezultatul scăderii între doi indicatori. Tipul real de bază al ptrdiff_t variază de la implementare la implementare.