C语言动态内存分配

本文介绍了C语言中动态内存分配的相关函数,包括malloc()用于分配内存,calloc()分配并初始化内存,realloc()灵活调整内存大小,以及free()用于释放内存。malloc()返回分配内存的起始地址,calloc()接受两个参数,realloc()可能改变内存位置,free()用于避免内存泄露。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

malloc()函数:分配内存,需要一个参数,所需内存字节数,返回分配的内存第一个字节的地址。ANSI C标准(以前标准返回一个char指针)使用了指向void的“通用指针”来作为malloc()函数返回的指针的类型,在赋值的时候,需要把返回的void的“通用指针”指派为适当的类型。如果malloc()函数无法获得所需的数量的内存,将返回空指针(NULL)。

//void *malloc(size_t size) 函数原型
double * ptd;
ptd = (double *)malloc(n*sizeof(double); //分配n个double类型所需的内存赋给ptd指针,然后就可以用ptd[i]来来访问内存的元素

calloc()函数:与malloc()函数类似,但是接受两个参数,都是无符号的整数。

//void *calloc(size_t nobj, size_t size) 函数原型
double * ptd;
ptd = (double *)calloc(n, sizeof(double)); //分配n个double类型所需的内存赋给ptd指针

realloc()函数:可以增加、减少以前分配内存长度,当我们在用realloc()函数进行扩充内存空间的时候,如果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值