例子:
(int*)malloc(100*sizeof(int)) 是先取得int类型的字节宽度,然后乘100计算后得到400,然后调用malloc,并将400传递给函数,分配400字节的内存空间,但是返回的是虚指针,即纯地址,该地址的类型是未知的,也即缺少数据宽度的信息。因此最后根据实际要求强制转换为int *。 new int[100]是分配可保存100个整数的内存空间,因为已给定数据类型,因此总共需要分配100*4=400字节的空间,返回int *类型的指针。
例子:
(int*)malloc(100*sizeof(int)) 是先取得int类型的字节宽度,然后乘100计算后得到400,然后调用malloc,并将400传递给函数,分配400字节的内存空间,但是返回的是虚指针,即纯地址,该地址的类型是未知的,也即缺少数据宽度的信息。因此最后根据实际要求强制转换为int *。 new int[100]是分配可保存100个整数的内存空间,因为已给定数据类型,因此总共需要分配100*4=400字节的空间,返回int *类型的指针。