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() 分配的内存空间,以便其他程序再次使用。

  • 相关阅读:
    怎样的配色能让你的作品高端!上档次呢?
    响应式布局的9项基本原则
    SOHO设计师如何保障自己的权益
    加载动态设计--等待的艺术创作思维
    初学者所必备的设计类网站
    网页设计师该向印刷设计学习的3个规则
    [并发编程] -- 内存模型(针对JSR-133内存模型)篇
    [并发编程] -- 线程池篇
    [并发编程] -- 容器和框架篇
    [并发编程] -- 工具类篇
  • 原文地址:https://www.cnblogs.com/panlangen/p/8067547.html
Copyright © 2011-2022 走看看