malloc()和realloc()有什么区别?

kam*_*mal 1 c c++ malloc memory-management realloc

假设我有两个代码示例用于创建10个元素的整数数组:

 int *pi = (int*) 0x000; //base ADDRESS of OS
    realloc(pi,10);
Run Code Online (Sandbox Code Playgroud)

另一个是正常写的,即:

int *pi;
pi=(int*) malloc(10*sizeof(int));
Run Code Online (Sandbox Code Playgroud)

现在,我的问题是:第一种类型的转让是合法的,但没有使用.为什么?它们之间有什么区别?

She*_*tJS 5

注意:等效呼叫是 realloc(pi, 10 * sizeof(int))

realloc doc解释说,在您的特定情况下,调用与malloc相同:

如果ptr为NULL,则realloc()与对size字节的malloc()调用相同.