我想创建一个大小为 508 字节的结构。
查看这段代码,我推断我可以创建一个我想要的任何大小的结构。
#include <stdint.h>
/**
* Common Data Types
*
* The data types in this section are essentially aliases for C/C++
* primitive data types.
*
* Adapted from http://msdn.microsoft.com/en-us/library/cc230309(PROT.10).aspx.
* See http://en.wikipedia.org/wiki/Stdint.h for more on stdint.h.
*/
typedef uint8_t BYTE;
typedef uint32_t DWORD;
typedef int32_t LONG;
typedef uint16_t WORD;
/**
* BITMAPFILEHEADER
*
* The BITMAPFILEHEADER structure contains information about the type, size,
* and layout of a file that contains a DIB [device-independent bitmap].
*
* Adapted from http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx.
*/
typedef struct
{
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} __attribute__((__packed__))
BITMAPFILEHEADER;
我需要大小为 508 字节的 int 类型,在阅读完这篇文章后:我想我可以创建所需大小的 int给定结构的大小。所以我试图创建一个这样的结构:
typedef struct
{
int datachunk : 4064;
}
BLOCK;
当然,这是天马行空的想象,我错了。
那么,如何创建一个大小为 508 字节的结构,其中包含相同大小的数据类型整数(即 4064?