zoukankan      html  css  js  c++  java
  • 19 内存分配和释放的函数

    1. malloc,calloc,realloc,free属于C函数库,而new/delete则是C++函数库;

    2. 多个-alloc的比较:

        alloc:唯一在栈上申请内存的,无需释放;

        malloc:在堆上申请内存,最常用;

        calloc:malloc+初始化为0;

        realloc:将原本申请的内存区域扩容,参数size大小即为扩容后大小,因此此函数要求size大小必须大于ptr内存大小。

     函数原型:void *calloc(size_t n, size_t size); 
    功 能: 在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。 
     
    malloc,relloc,calloc,free是C语言的; 
    new,delete是C++;
     relloc动态内存调整, 指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。 新的大小可大可小(但是要注意,如果新的大小小于原内存大小,可能会导致数据丢失,慎用!)  
    拥抱明天! 不给自己做枷锁去限制自己。 别让时代的悲哀,成为你人生的悲哀。
  • 相关阅读:
    礼品卡导入可用
    mysql
    初级运维工程师面试题总结
    mysql聚合函数
    去任何一个公司的思想
    mysql数据库引擎
    导入MyEclipse项目乱码
    poj 1743 后缀数组 求最长不重叠重复子串
    hdu 1011 树形dp+背包
    poj 2342 && hdu 1520 树形dp
  • 原文地址:https://www.cnblogs.com/dd2hm/p/7270287.html
Copyright © 2011-2022 走看看