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.