BITMAPFILEHEADER bf kokoa. C

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

Ja sitten kokoa.c:

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

Haluan tietää joitain viitteitä suoritettavaksi

BITMAPFILEHEADER bf 

saada lyhenne BITMAPFILEHEADERille?

Tiedän vain

typedef <oldname> <newname> 

Kuinka tulee, vain toimii?

Kiitos etukäteen avusta tämän asian selvittämisessä minulle.

Vastaa

Oletan, että kysyt miksi typedef bmp.h toimii. Jos ei, selvitä kysymyksesi ja päivitän vastauksen.

Kohdassa bmp.h:

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

on oikeastaan sama asia kuin lausunto:

typedef <oldname> <newname>; 

Tässä tapauksessa <oldname> on itse asiassa kaikki seuraavat:

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

joka on anonyymi rakenne. Täydellinen lause ottaa tämän nimeämättömän rakenteen ja muodostaa sille aliaksen (BITMAPFILEHEADER).

Nyt voit käyttää BITMAPFILEHEADER tyyppiä, kuten int tai double. Ilmoitus BITMAPFILEHEADER bf varaa riittävästi muistia paikalliseen muuttujaan koko rakenteen tallentamiseen.

Kommentit

  • Nyt ymmärrän. Kiitos paljon.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *