如。 ingp=realloc(NULL,40);
realloct前为什么可以不加(int)进行强转?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int *p = realloc(NULL,40);
p[0] = 10;
p[1] = 12;
int n = 2;
for(int i = 0;i < n; ++i)
printf("%d\n",p[i]);
return 0;
}
realloc
函数返回的是一个 void *
的指针,在 c
语言中,可以不用强制转换,直接使用,但是在C++
就不行,而且为了养成一个良好的编码习惯,还是建议写上强制转换~
在C++中会出现以下报错: