Search code examples
cmalloc

What's the point of malloc(0)?


I just saw this code:

artist = (char *) malloc(0);

...and I was wondering why would one do this?


Solution

  • According to the specifications, malloc(0) will return either "a null pointer or a unique pointer that can be successfully passed to free()".

    This basically lets you allocate nothing, but still pass the "artist" variable to a call to free() without worry. For practical purposes, it's pretty much the same as doing:

    artist = NULL;