详解realloc函数的功能——C语言代码展示
来源:互联网 发布:汽车保养提醒软件 编辑:程序博客网 时间:2024/05/21 18:41
一、程序C语言代码展示如下:
/************************************************
运行平台:vc++6.0
实现功能:体现realloc函数的作用
************************************************/
#include<stdio.h>
#include<stdlib.h>
#define NUM1 5
#define NUM2 10
int main(void)
{
int i = 0;
int *point = (int *)malloc(NUM1*sizeof(int));
printf("malloc指针point的值为:%p\n", point);
printf("为point[%d]~point[%d]赋值:\n", 0, NUM1-1);
for(i=0; i<NUM1; i++)
{
scanf("%d", &point[i]);
}
printf("point[%d]~point[%d]的值为:\n", 0, NUM1-1);
for(i=0; i<NUM1; i++)
{
printf("%2d", point[i]);
}
printf("\n\n");
point=(int *)realloc(point, NUM2*sizeof(int));
printf("realloc指针point的值为:%p\n", point);
printf("为point[%d]~point[%d]赋值:\n", NUM1, NUM2-1);
for(i=NUM1; i<NUM2; i++)
{
scanf("%d", &point[i]);
}
printf("point[%d]~point[%d]的值为:\n", 0, NUM2-1);
for(i=0; i<NUM2; i++)
{
printf("%2d", point[i]);
}
printf("\n");
free(point);
return 0;
}
二、程序运行结果如下:
三、程序设计过程解析如下:
1.先使用malloc分配NUM1个int型大小的空间,地址返回给指针point
2.将其地址打印出来为:003206D0
3.从分配内存空间的0到(NUM1-1)给每个int型空间赋值为:0 1 2 3 4
4.从空间0开始,打印出来为:0 1 2 3 4
5.再使用realloc从point地址分配NUM2个int型大小空间,地址返回给指针point
6.将其地址打印出来同样为:003206D0
7.从NUM1到(NUM2 - 1)给每个int型空间赋值为:5 6 7 8 9
8.从0空间开始,打印出来为:0 1 2 3 4 5 6 7 8 9
四、程序设计目的说明如下:
当使用动态分配的内存空间不够用时,可以再使用realloc扩充空间,以满足需求!
如此,解决了使用自动(临时)数组会导致当初始分配空间不够用时无法扩充的缺陷。
五、realloc总结如下:
最后觉得百度百科关于realloc的使用总结讲述不错,故摘抄如下:
链接:http://baike.baidu.com/link?url=haVQHE5N1GjdTR92Vh8V4SDO1KClfpbMIpT_N7rZr9gJ9e4P9RGX_10QB5KfIvwu
realloc使用总结:
- 详解realloc函数的功能——C语言代码展示
- C语言函数realloc
- C语言函数realloc
- C语言函数realloc
- C语言函数realloc
- C语言函数realloc
- C语言realloc()函数
- Linux C语言应用 - main函数解析,时间函数,C语言代码的分配机制(malloc,calloc,realloc,free)
- C语言之realloc函数
- C 语言 函数之realloc
- C语言realloc函数解析
- C语言malloc,calloc,realloc函数之间的区别
- realloc函数的简单应用-c语言程序
- C语言 realloc() 函数和malloc() 函数
- C语言中realloc 使用详解
- C语言中的realloc函数动态分配内存
- C语言中的realloc函数动态分配内存
- 编辑本段C语言函数realloc
- 《Android开发自我整理知识——简介及学习资料链接》
- 一些惯用的编码手法
- jquery 设置checkbox全选 全不选
- 【c++强制类型转换】:dynamic_cast、const_cast 、static_cast、reinterpret_cast
- 流状态的查询和控制
- 详解realloc函数的功能——C语言代码展示
- 第九周项目2
- maven findbugs插件集成
- EditText控件中的inputType的属性值详情
- 2011年华为编程大赛B卷第二道题
- 《CSS权威指南》--附录
- 淘金网UCskype客服系统
- 多生产者和多消费者
- linux线程间通信之信号量