小编Sir*_*lot的帖子

正确使用Realloc

这是我被教导使用的方式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)

c realloc

2
推荐指数
2
解决办法
1293
查看次数

标签 统计

c ×1

realloc ×1