zoukankan      html  css  js  c++  java
  • realloc函数实现数组动态增长

    realloc函数实现数组动态增长
    realloc函数有两种机制:

    #include<stdio.h>
    #include<stdlib.h>

    int main(){
           
           int *p = ( int*)calloc(10, sizeof( int)); 
           printf( "%p",p);
           for ( int i = 0; i < 10; i++)
           {
                  *(p + i) = i;
           }
           
           p = ( int*)realloc(p,60); // 在原来的内存后面补增60个字节
           for ( int i = 10; i < 25; i++)
           {
                  *(p + i) = i;
           }

           system( "pause");
           return 0;
    }

    1. 直接在原来的内存后面补接内存(在内存足够时)


    2.当原内存后面的内存不足的时候,就重新找到一块内存,将原内存中的数据复制过去,原内存清空

    #include<stdio.h>
    #include<stdlib.h>

    int main(){
           
           int *p = ( int*)calloc(10, sizeof( int)); //堆上分配内存,返回内存地址
           printf( "%p ",p);
           for ( int i = 0; i < 10; i++)
           {
                  *(p + i) = i;
           }
           
           p = ( int*)realloc(p,10000); //在原来的内存后面补增60个字节
           printf( "%p", p);
           for ( int i = 10; i < 10000; i++)
           {
                  *(p + i) = i;
           }

           system( "pause");
           return 0;
    }










  • 相关阅读:
    【转】Android开发实践:自定义带消息循环(Looper)的工作线程
    【转】 解决IllegalStateException: Can not perform this action after onSaveInstanceState
    【转】Fresco之强大之余的痛楚
    【转】Android 防破解技术简介
    改进版本号的精确数据权限定义和实现
    明天是我的生日,写给24岁的自己
    javascrip cookie
    Servlet -- 跳转到页面后的绝对路径与相对路径的问题
    JAVA訪问URL
    跨浏览器resize事件分析
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/4531374.html
Copyright © 2011-2022 走看看