动态分配内存---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 ;
}

这样就可以根据需要来使用内存了。

最新文章

  1. 前端实现图片懒加载(lazyload)的两种方式
  2. dma驱动
  3. 【Java学习笔记】静态导入
  4. Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化
  5. 利用MetaWeblog API实现XMLRPC写博客功能
  6. js插入动态脚本
  7. 视频最后用使用了function(i,ot)一笔带过,但我看不懂i和ot这2个参数的具体值是怎么获取得到的,能不能说一下参数传递过程?
  8. ConfigParser---python
  9. FTP服务器中vsftpd主配置文件解析
  10. Winform控件Tag使用规范
  11. VueJs(12)---vue-router(导航守卫,路由元信息)
  12. 注意:QQ影音视频压缩时长丢失
  13. 域名调整 SEO优化(nginx)
  14. hadoop 遇到java.net.ConnectException: to 0.0.0.0:10020 failed on connection
  15. C++ Templates STL标准模板库的基本概念
  16. HashMap怎样解决碰撞问题
  17. git服务器使用
  18. Hive在drop表的时候报错
  19. 基于ARM的模拟器
  20. JS与Jquery的事件委托

热门文章

  1. PythonI/O进阶学习笔记_4.自定义序列类(序列基类继承关系/可切片对象/推导式)
  2. Winform中使用FastReport实现自定义PDF打印预览
  3. Winforn中设置ZedGraph曲线图的属性、坐标轴属性、刻度属性
  4. Winform中实现ZedGraph曲线图的图像复制到剪切板、打印预览、获取图片并保存、另存为的功能
  5. CSS——边框设置
  6. Java第三次作业第一题
  7. [Linux] Vmware 15安装CentOs后显示网络不可用
  8. Linux系统在开机的时候自动启动SVN
  9. samba + OPENldap 搭建文件共享服务器
  10. python-字符编码、字符串格式化、进制转化、数据类型、列表、元组、字典总结