我想知道是否可以检查传递给函数的指针是否由 malloc/calloc/realloc 分配?
int main(){
struct something o;
struct something *a;
a = malloc(sizeof(struct something));
freeSome(&o);/*This would normally throw an (corruption?) error*/
freeSome(a);/*This is fine*/
}
void freeSome(struct something * t){
if (/*expression here*/){
free(t);
}
}
我知道通常您会检查 if t == NULL
,但我只是想知道是否可以查看是否已为给定指针分配了内存。