zoukankan      html  css  js  c++  java
  • malloc realloc calloc

    三个函数大多使用在c语言函数的指针当中为指针分配地址,他们的原型分别如
    下:
    void *realloc(void *ptr,unsigned newsize);
    void *malloc(unsigned size);
    void *calloc(num,unsigned size);
    他们包含在stdlib.h的函数里,一般使用sizeof()函数分配size的大小。

    1)malloc用于申请一段新的地址,size为所需空间的长度;
    例子如下:
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
     char *num;
     num=(char *)malloc(sizeof(char));
     if(num)
     printf("恭喜你已成功为num分配了地址\n");
     else
     printf("抱歉,分配失败\n");
     return 0;
    }

    2)calloc的用法与malloc的差别不是太大,就是多了一个num,num表示申请地址
    元素的个数,unsigned size代表分配空间的长度。
    例子如下:
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
     char *num;
     num=(char *)calloc(20,sizeof(char));
     if(num)
     printf("恭喜你已成功为num分配了能存储20个元素的地址\n");
     else
     printf("抱歉,分配失败\n");
     return 0;
    }
    3)realloc指的是为已经分配了地址的指针重新分配空间,unsigned size指的是重新
    分配的空间。其中重新分配的长度必须大于以前的长度
    例子如下:
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    int main()
    {
     char *num,*num1;
     num1=num=(char *)calloc(20,sizeof(char));
     num=(char *)realloc(num,sizeof(char));
     if(num)
     printf("恭喜你已经成功为num重新分配了地址\n");
     else
     printf("抱歉,分配失败\n");
     return 0;
    }

  • 相关阅读:
    JDBC编程
    解决eclipse的source not found change at.
    Python 学习笔记
    网络编程(二) 多线程
    wpf 如何设置滚动条在超出范围的时候才显示?(转)
    WPF datagrid 如何隔行变色
    如果DataGrid的checkbox出现点一个另外自动点另一个现象
    WPF之DataGrid应用(转)
    WPF qq界面(转)
    SQL中distinct的用法(转)
  • 原文地址:https://www.cnblogs.com/xiohao/p/3031837.html
Copyright © 2011-2022 走看看