APR中有这样的代码:
apr_memnode_t* node;
node=(apr_memnode_t*)malloc(size);
node->next = NULL;
node->index = index;
node->first_avail = (char *)node + APR_MEMNODE_T_SIZE;
node->endp = (char *)node + size;
该代码实现了:分配了一个内存空间,该内存空间以struct apr_memnode_t 为顶部,APR_MEMNODE_T_SIZE之后到size为数据。
以后可以在自己的代码中用到这种方法!!!
感谢tingya的博客!!!