这是我被教导使用的方式realloc():
int *a = malloc(10);
a = realloc(a, 100); // Why do we do "a = .... ?"
if(a == NULL)
//Deal with problem.....
Run Code Online (Sandbox Code Playgroud)
这不是多余的吗?我不能这样做吗?:
if(realloc(a, 100) == NULL) //Deal with the problem
Run Code Online (Sandbox Code Playgroud)
我发现的其他realloc示例也是如此,例如:
int *oldPtr = malloc(10);
int * newPtr = realloc(oldPtr, 100);
if(newPtr == NULL) //deal with problems
else oldPtr = newPtr;
Run Code Online (Sandbox Code Playgroud)
我不能这样做吗?:
int *oldPtr = malloc(10);
if(realloc(oldPtr, 100) == NULL) //deal with problems
//else not necessary, oldPtr has already been reallocated and has now 100 …Run Code Online (Sandbox Code Playgroud)