BITMAPFILEHEADER bf a resize.c fájlban

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

Ezután a resize.c fájlban:

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

Szeretnék néhány referenciát futtatni

BITMAPFILEHEADER bf 

rövidítést kérek a BITMAPFILEHEADER programhoz?

Csak tudom

typedef <oldname> <newname> 

Hogy jön, csak működik?

Előre is köszönöm a segítséget, hogy tisztázzam ezt a pontot számomra.

Válasz

Feltételezem, hogy azt kérdezi, miért írja be a typedef a bmp.h működik. Ha nem, kérjük, pontosítsa kérdését, és frissítem a választ.

A bmp.h mezőben:

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

valóban ugyanaz, mint egy utasítás:

typedef <oldname> <newname>; 

Ebben a konkrét esetben a <oldname> valójában az összes következő:

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

amely egy névtelen szerkezet. A teljes utasítás felveszi ezt a meg nem nevezett struktúrát és álnevet készít hozzá (BITMAPFILEHEADER).

Mostantól használhatja az BITMAPFILEHEADER mint olyan típus, mint int vagy double. A BITMAPFILEHEADER bf deklaráció elegendő memóriát foglal el egy helyi változó számára az egész szerkezet tárolásához.

Megjegyzések

  • Most már értem. Nagyon köszönöm.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük