动态分配内存-realloc
2024-09-01 10:47:35
动态分配内存---relloc
关于 malloc 就不多说了,现在看看 realloc:
函数声明: void *realloc(void *ptr, size_t size);
功能:动态改变指针指向的内存块的大小。
使用:如果 ptr 指针是空指针,该函数的作用同 malloc;
如果 size 的大小小于之前 malloc或 realloc 分配的大小,那么原来内存块的数据会丢失,只保留现有数据;
如果 size 的大小大于之前 malloc或 realloc 分配的大小,那么将会分配一块新的大小的内存块。
新的内存块将会复制原来内存块的数据,原来的内存块会被释放。
DemoCode:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a,*p;
int i=,j=;
char b;
p = (int *)malloc(sizeof(int));
printf("原来指针指向地址:%p\n",p);
while()
{
scanf("%d%c",&a,&b);
p[i] = a;
if(b != '\n')
{
i++,j=i;
p = (int *)realloc(p,sizeof(int)*(i+));
}
else
break;
}
printf("新指针指向地址:%p\n",p);
for(i=;i<=j;i++)
printf("%d\t",p[i]);
printf("\n");
free(p);
return ;
}
这样就可以根据需要来使用内存了。
最新文章
- 前端实现图片懒加载(lazyload)的两种方式
- dma驱动
- 【Java学习笔记】静态导入
- Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化
- 利用MetaWeblog API实现XMLRPC写博客功能
- js插入动态脚本
- 视频最后用使用了function(i,ot)一笔带过,但我看不懂i和ot这2个参数的具体值是怎么获取得到的,能不能说一下参数传递过程?
- ConfigParser---python
- FTP服务器中vsftpd主配置文件解析
- Winform控件Tag使用规范
- VueJs(12)---vue-router(导航守卫,路由元信息)
- 注意:QQ影音视频压缩时长丢失
- 域名调整 SEO优化(nginx)
- hadoop 遇到java.net.ConnectException: to 0.0.0.0:10020 failed on connection
- C++ Templates STL标准模板库的基本概念
- HashMap怎样解决碰撞问题
- git服务器使用
- Hive在drop表的时候报错
- 基于ARM的模拟器
- JS与Jquery的事件委托
热门文章
- PythonI/O进阶学习笔记_4.自定义序列类(序列基类继承关系/可切片对象/推导式)
- Winform中使用FastReport实现自定义PDF打印预览
- Winforn中设置ZedGraph曲线图的属性、坐标轴属性、刻度属性
- Winform中实现ZedGraph曲线图的图像复制到剪切板、打印预览、获取图片并保存、另存为的功能
- CSS——边框设置
- Java第三次作业第一题
- [Linux] Vmware 15安装CentOs后显示网络不可用
- Linux系统在开机的时候自动启动SVN
- samba + OPENldap 搭建文件共享服务器
- python-字符编码、字符串格式化、进制转化、数据类型、列表、元组、字典总结