b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

malloc和calloc 动态内存分配

电脑杂谈  发布时间:2018-01-15 13:09:01  来源:网络整理

malloc和calloc_relloc_realloc

全局变量分配在内存中的静态存储区,局部变量分配在内存中的动态存储区(栈)。

除此之外,c语言中还存在一个临时存放数据的内存动态分配区域(堆)。

特点:不必在程序的声明部分定义,不必等到函数结束时才释放,可以随时开辟,随时释放;且这些数据只能通过指针来引用。

这四个库函数的头文件#include<stdlib.h>

malloc函数

void * malloc(unsigned int size)

relloc_realloc_malloc和calloc

在内存的动态存储区分配一个长度为size的连续空间,返回值为分配空间的开头位置,失败则返回null。malloc和calloc指针的基类型为void表示不指向任何类型的数据,只提供一个地址。malloc和calloc

calloc函数

void *calloc(unsigned int n,unsigned int size)

分配n个长度为size的连续空间。

calloc常用来为动态数组分配空间,以一维数组为例,n就代表元素个数,size代表每个元素的长度

free函数

malloc和calloc_relloc_realloc

void free(void *p)

释放指针变量p所指向的动态空间,此函数无返回值

realloc函数

void *realloc(void *p,unsigned int size);

realloc常用来重新分配,改变p指向的动态空间的大小为size

sizeof(int)是获得当前系统int型数据所占的字节数,

malloc函数的返回值是void指针类型,先需要指向int型数据时,需要强制转换为int指针类型


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-60302-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      每日福利
      热点图片
      拼命载入中...