Kann ich überprüfen, ob ein Zeiger von malloc / calloc / realloc zugewiesen wurde? [Duplikat
Diese Frage hat hier bereits eine Antwort:
Überprüfen Sie, ob ein Zeiger auf den zugewiesenen Speicher auf dem Heap verweist. 10 Antworten Kannst du feststellen, ob ein String in C frei ist? [Duplikat 5 AntwortenIch habe mich gefragt, ob es möglich ist zu überprüfen, ob ein Zeiger, der an eine Funktion übergeben wurde, von malloc / calloc / realloc zugewiesen wurde.
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);
}
}
Ich verstehe, dass Sie in der Regel überprüfen, obt == NULL
, aber ich habe mich nur gefragt, ob es möglich ist, festzustellen, ob für den angegebenen Zeiger Speicher zugewiesen wurde.