我正在尝试编写一些代码,它模仿一个简单的 malloc 函数(在 C 中),尽管它应该只控制一个大数组的内存,而不是实际的物理内存。为了控制“内存”,我想将 META 数据段存储在内存阵列中。META 数据存储为结构。我的问题是,如何正确地将结构存储在数组的字节中?在此处显示的示例中,我尝试在内存阵列的起始元素上存储一些初始元数据;但是我这样做的语法错误。
typedef struct _xMetaData{
size_t xSize;
int* piNextBlock;
int iBlockFree;
}xMetaData;
int8_t memory[ALLOCATE_SIZE];
// Pointer to struct
xMetaData* pxMetaPtr;
xMetaData xInitialData = {BLOCKSIZE, &memory[INITIAL_BLOCK_ADDRESS], BLOCK_FREE};
&memory[0] = xInitialData;