BITMAPFILEHEADER bf în resize.c (Română)

typedef struct { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } __attribute__((__packed__)) BITMAPFILEHEADER; 

Și apoi în resize.c:

BITMAPFILEHEADER bf fread(&bf, sizeof(BITMAPFILEHEADER), 1, inptr); 

Vreau să știu câteva referințe pentru a rula

BITMAPFILEHEADER bf 

obțineți o scurtătură pentru BITMAPFILEHEADER?

Știu doar

typedef <oldname> <newname> 

Cum se întâmplă, doar funcționează?

Vă mulțumesc anticipat pentru orice ajutor pentru a clarifica acest punct pentru mine.

Răspuns

Presupun că vă întrebați de ce tipul introdus în bmp.h funcționează. Dacă nu, vă rugăm să vă clarificați întrebarea și voi actualiza răspunsul.

În bmp.h:

typedef struct { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } __attribute__((__packed__)) BITMAPFILEHEADER; 

este cu adevărat același lucru ca o afirmație:

typedef <oldname> <newname>; 

În acest caz particular, <oldname> este de fapt toate următoarele:

struct { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } __attribute__((__packed__)) 

care este o structură anonimă. Declarația completă ia această structură fără nume și creează un alias pentru aceasta (BITMAPFILEHEADER).

Acum puteți utiliza BITMAPFILEHEADER ca tip ca int sau double. Declarația BITMAPFILEHEADER bf rezervă suficientă memorie pentru ca o variabilă locală să stocheze întreaga structură.

Comentarii

  • Acum inteleg. Mulțumesc mult.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *