当我们事先不知道我们所需的空间大小,或我们需要处理的数据量很大,需要重复利用内存空间时,我们可以使用malloc来动态的申请内存。
malloc的原型为:
extern void *malloc(unsigned int num_bytes);
//num_bytes为所申请的内存块的长度
malloc的返回值:
当申请成功时,malloc会返回一个void类型的指针
当申请失败时,返回NULL
malloc使用的注意事项:
由于malloc的返回值为void的类型的指针,为防止隐式类型转换所带来的危害以及提高代码的可读性。建议写成该种形式:
ptr=(类型名称)malloc(sizeof(数据类型)*n(申请数个该数据类型的空间))
//ptr为事先声明的指针
例如:
double* ptr;
ptr=(double*)malloc(sizeof(double)*12);