typedef struct { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } __attribute__((__packed__)) BITMAPFILEHEADER;
次に、resize.c:
BITMAPFILEHEADER bf fread(&bf, sizeof(BITMAPFILEHEADER), 1, inptr);
実行するための参照を知りたい
BITMAPFILEHEADER bf
BITMAPFILEHEADERの省略形を取得しますか?
知っているのは
typedef <oldname> <newname>
どうしてうまくいくのですか?
この点を明確にするために助けてくれてありがとう。
回答
bmp.h動作します。動作しない場合は、質問を明確にしてください。回答を更新します。
bmp.h:
typedef struct { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } __attribute__((__packed__)) BITMAPFILEHEADER;
は実際にはステートメントと同じです:
typedef <oldname> <newname>;
この特定のケースでは、<oldname>は実際には次のすべてです。
struct { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } __attribute__((__packed__))
これは匿名の構造です。完全なステートメントは、この名前のない構造を取り、そのエイリアスを作成します(BITMAPFILEHEADER)。
これで、BITMAPFILEHEADER intまたはdoubleのようなタイプとして。宣言BITMAPFILEHEADER bfは、ローカル変数がその構造全体を格納するのに十分なメモリを予約します。
コメント
- 今分かります。どうもありがとう。