结构体变量

来源:互联网 发布:spss出来没数据 编辑:程序博客网 时间:2024/06/03 16:39

动态内存分配

  动态内存分配是通过系统提供的库函数来实现的,主要有malloc,callloc,free,realloc这4个函数。

1. malloc

  函数原型

  void * malloc(size_t size);

例: malloc(100);  //开辟100字节的临时分配域,函数值为其第1个字节的地址


2、calloc

函数原型

  void * calloc(unsigned n,unsigned size);

    1、其作用是在内存的动态存储区中分配n个长度为size的连续空间,这个空间一般比较大。
    2、用calloc可以为一维数组开辟动态存储空间,n为数组元素个数,每个元素长度为size。这就是动态数组

3、free

4、realloc

函数原型
  void * realloc(void*p,unsigned int size);
    如果已经通过malloc或者calloc获得了动态空间,想改变其大小,可以用realloc函数重新分配。
  用realloc函数将p所指向的动态空间的大小改变为size。p的值不变。如果重分配不成功,返回NULL。
如:realloc(p,50);//将p所指向的已分配的动态空间改为50字节