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)
现在,我的问题是:第一种类型的转让是合法的,但没有使用.为什么?它们之间有什么区别?
注意:等效呼叫是 realloc(pi, 10 * sizeof(int))
realloc doc解释说,在您的特定情况下,调用与malloc相同:
如果ptr为NULL,则realloc()与对size字节的malloc()调用相同.