zoukankan      html  css  js  c++  java
  • c语言内存分配函数

    三个函数的声明分别是:
    void* realloc(void* ptr, unsigned newsize);
    void* malloc(unsigned size);
    void* calloc(size_t nelem, size_t elsize);
    都在stdlib.h函数库内

    原型:extern void *realloc(void *mem_address, unsigned int newsize);

    用法:#include <alloc.h>
    功能:改变mem_address所指内存区域的大小为newsize长度。

    说明:如果重新分配成功则返回指向被分配内存的指针,否则返回空指针NULL。
            当内存不再使用时,应使用free()函数将内存块释放。

    原型:extern void *malloc(unsigned int num_bytes);
    用法:#include <alloc.h>

    功能:分配长度为num_bytes字节的内存块

    说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。
            当内存不再使用时,应使用free()函数将内存块释放。

    原型:extern void *calloc(int num_elems, int elem_size);
    用法:#include <alloc.h>
    功能:为具有num_elems个长度为elem_size元素的数组分配内存
    说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。
            当内存不再使用时,应使用free()函数将内存块释放。

    区别:

    1、calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据

    2、realloc是给一个已经分配了地址的指针重新分配空间,参数ptr为原有的空间地址,newsize是重新申请的地址长度

  • 相关阅读:
    Jquery、Ajax实现新闻列表页分页功能
    html中文字溢出处理(text-overflow)
    canvas图像绘制过程中的注意
    问题账户需求分析
    2016年秋季个人阅读计划
    阅读笔记之我们应当怎样做需求分析
    软件工程课个人总结
    人月神话阅读笔记—第四章
    人月神话阅读笔记—第三章
    人月神话阅读笔记—序言及第一、二章
  • 原文地址:https://www.cnblogs.com/xmphoenix/p/2148931.html
Copyright © 2011-2022 走看看