malloc和calloc
时间: 2023-11-25 18:07:19 浏览: 15
calloc和malloc的区别
`malloc` 和 `calloc` 都是用于动态分配内存空间的函数。
`malloc` 函数的原型如下:
```c
void* malloc(size_t size);
```
它接受一个参数 `size`,表示要分配的内存空间大小(以字节为单位),并返回一个指向这块内存的指针。如果分配失败,则返回 `NULL` 指针。
`calloc` 函数的原型如下:
```c
void* calloc(size_t num, size_t size);
```
它接受两个参数 `num` 和 `size`,分别表示要分配的内存块的个数和每块内存的大小(以字节为单位),并返回一个指向这块内存的指针。与 `malloc` 不同的是,`calloc` 会将分配的内存空间初始化为 0。如果分配失败,则返回 `NULL` 指针。
总的来说,`malloc` 和 `calloc` 的作用是一样的,都是用来动态分配内存空间的。不同的是,`calloc` 多了一个参数来指定分配的块数,并且会将分配的内存空间初始化为 0。在使用时需要根据实际情况选择使用哪个函数。
阅读全文