zoukankan      html  css  js  c++  java
  • malloc()函数,calloc()函数,realloc()函数,free()函数

    malloc()函数

    头文件:#include <stdlib.h>

    malloc() 函数用来动态地分配内存空间,其原型为:
    void* malloc (size_t size);

    【参数说明】size 为需要分配的内存空间的大小,以字节(Byte)计。

    【函数说明】malloc() 在堆区分配一块指定大小的内存空间,用来存放数据。这块内存空间在函数执行完成后不会被初始化,它们的值是未知的。如果希望在分配内存的同时进行初始化,请使用 calloc() 函数。

    【返回值】分配成功返回指向该内存的地址,失败则返回 NULL。

    由于申请内存空间时可能有也可能没有,所以需要自行判断是否申请成功,再进行后续操作。

    calloc()函数

    头文件:#include <stdlib.h>

    calloc() 函数用来动态地分配内存空间并初始化为 0,其原型为:
        void* calloc (size_t num, size_t size);

    calloc() 在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num*size 个字节长度的内存空间,并且每个字节的值都是0。

    【返回值】分配成功返回指向该内存的地址,失败则返回 NULL。

    realloc()函数

    头文件:#include <stdlib.h>

    realloc() 函数用来重新分配内存空间,其原型为:
        void* realloc (void* ptr, size_t size);

    【参数说明】ptr 为需要重新分配的内存空间指针,size 为新的内存空间的大小。

    realloc() 对 ptr 指向的内存重新分配 size 大小的空间,size 可比原来的大或者小,还可以不变(如果你无聊的话)。当 malloc()calloc() 分配的内存空间不够用时,就可以用 realloc() 来调整已分配的内存。

    如果 ptr 为 NULL,它的效果和 malloc() 相同,即分配 size 字节的内存空间。

    如果 size 的值为 0,那么 ptr 指向的内存空间就会被释放,但是由于没有开辟新的内存空间,所以会返回空指针;类似于调用 free()

    free()函数

    头文件:#include <stdlib.h>

    free() 函数用来释放动态分配的内存空间,其原型为:
        void free (void* ptr);

    free() 可以释放由 malloc()calloc()realloc() 分配的内存空间,以便其他程序再次使用。

  • 相关阅读:
    机器学习入门-相关性分析
    R语言-记号体系
    R语言基础
    职位画像分析(pandas/ matplotlib)
    python 可视化工具-matplotlib
    pandas-缺失值处理
    k-means实战-RFM客户价值分群
    药店商品销量分析(python)
    Jike_Time-决策树
    3.7 嵌入式SQL
  • 原文地址:https://www.cnblogs.com/panlangen/p/8067547.html
Copyright © 2011-2022 走看看