The structure I want is a linked-list. Each block contains a header and a block_part. The header contains free, prev, and next. I'm just wondering if the code below is a valid implementation.
typedef struct block
{
/*header + block*/
bool free;
block *prev;
block *next;
char block_part[];
} block;
In response to the comments, so the correct way to do this is :
typedef struct block block;
struct block
{
/*header + block*/
bool free;
block *prev;
block *next;
char block_part[];
} ;
?