0
点赞
收藏
分享

微信扫一扫

C语言-calloc

学习网址

C语言动态内存函数(malloc、calloc、realloc、free)详解:https://www.jb51.net/program/295325hjh.htm

C语言动态内存函数详解:https://www.jb51.net/article/223725.htm

calloc函数

需要头文件:<stdlib.h>

C语言-calloc_c函数

calloc函数(动态内存分配函数):

void* calloc(size_t num, size_t size);

功能:

  • 函数的功能是,为num个 大小为size元素 开辟一块空间,并且把空间的 每一个字节初始化为0
  • num是元素的个数,size是每个元素的大小。(字节为单位)返回一个指向分配内存的指针。
  • 所以要对申请的内存空间初始化时,可以直接使用calloc函数。
  • 与malloc函数的区别:
  • malloc只是分配内存,而calloc还会将分配的内存初始化为0。
  • calloc函数会在返回地址之前把申请空间的每一个字节初始化为0.

举个例子:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int* p = (int*)calloc( 10,sizeof(int));
    if (p == NULL)
    {
        perror("calloc");
        exit;
    }
    free(p);
    p = NULL;
    return 0;
}

p指向的地址:

C语言-calloc_标准内存函数_02

可以看到上面的p里面的10个元素地址是依次增加4的, 因为是int类型的所以每个元素占4字节,地址也是一样的4.


举报

相关推荐

0 条评论