没有合适的资源?快使用搜索试试~ 我知道了~
C语言函数realloc.doc-综合文档
需积分: 10 0 下载量 60 浏览量
2021-05-22
05:07:09
上传
评论
收藏 40KB DOC 举报
温馨提示
试读
3页
C语言函数realloc.doc
资源推荐
资源详情
资源评论
C 语言函数 realloc
函数简介
原型:extern void *realloc(void *mem_address, unsigned int
newsize);
语法:指针
名=(数据类型
*)realloc(要改变内存大小的指针名,新
的大小)。//新的大小一定要大于原来的大小不然的话会导致数据丢失!
头文件:#include <stdlib.h
> 有些编译器需要#include
<malloc.h>,在 TC2.0 中可以使用 alloc.h 头文件
功能:先判断当前的指针是否有足够的连续空间,如果有,扩大
mem_address 指向的地址,并且将 mem_address 返回,如果空间不够,
先按照 newsize 指定的大小分配空间,将原有数据从头到尾拷贝到新分配的
内存区域,而后释放原来 mem_address 所指内存区域,同时返回新分配
的内存区域的首地址。即重新分配存储器块的地址。
返回值:如果重新分配成功则返回指向被分配内存的指针,否则返回空
指针 NULL。
注意:这里原始内存中的数据还是保持不变的。当内存不再使用时,应
使用 free
()函数将内存块释放。
相关函数: malloc
、calloc
、free、_alloca
应用举例
举例 1:
从这个例子可以看出 realloc
函数
的功能。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
int *pn=(int *)malloc
(5*sizeof(int));
printf("%p\n",pn);
for(i=0;i<5;i++)
scanf("%d",&pn[i]);
pn=(int *)realloc(pn,10*sizeof(int));
printf("%p\n",pn);
for(i=0;i<5;i++)
printf("%3d",pn[i]);
printf("\n");
free
(pn);
return 0;
}
举例 2:(在 TC2.0 中运行通过)
// realloc.c
资源评论
weixin_38621630
- 粉丝: 3
- 资源: 914
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功