检查变量是静态还是动态分配?

min*_*ing 0 c malloc free

我正在实现我自己的malloc和免费功能.如何通过动态分配的变量传递静态变量的错误检查?比方说我有:

char foo[10];
void *bar = malloc(5); 

void free(void *p)
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉用户这是一个错误?

free(foo)
Run Code Online (Sandbox Code Playgroud)

Bat*_*eba 5

最好的办法是在内存管理功能中维护一个已分配指针的表.

释放内存时不要忘记删除条目.