malloc函数原型
void *malloc(int size);
int *p = new int; //返回类型为int* 类型(整数型指针),分配大小为 sizeof(int);
int *p =new int [100]; //返回类型为 int* 类型(整数型指针),分配大小为 sizeof(int) * 100;
int *p= (int *) malloc (sizeof(int)); malloc 函数返回的是 void * 类型,如果你写成:p = malloc (sizeof(int)); 则程序无法通过编译,报错:“不能将 void* 赋值给 int * 类型变量”。所以必须通过 (int *) 来将强制转换。