I was reading a C code, and I didn't understand well a line :
str = realloc(NULL, sizeof(*str)*size);//size is start size
if(!str)return str;
what does the !str mean ?
The code read an input string from a user then realloc dynamically the memory.