采用malloc分别分配2KB个人空间,然后,realloc调整到6KB、1MB、3MB、10MB场地,分别这五内存“A”、“B”、“C”、“D”、“E”灌装
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
int main(void)
{
char *str1 = NULL;
char *str2 = NULL;
char *str3 = NULL;
char *str4 = NULL;
char *str5 = NULL;
str1 = (char*)malloc(2*1024*sizeof(char));
if(str1==NULL)
{
printf("malloc error!\n");
return -1;
}
printf("malloc 2KB: %p\n",str1);
memset(str1,'A',2*1024*sizeof(char));
printf("mem content:%s\n",str1);
str2 = (char*)realloc(str1,6*1024*sizeof(char));
if(str2==NULL)
{
printf("realloc error!\n");
return -1;
}
printf("realloc 6KB: %p\n",str2);
memset(str2,'B',6*1024*sizeof(char));
printf("mem content:%s\n",str2);
str3 = (char*)realloc(str2,1024*1024*sizeof(char));
if(str3==NULL)
{
printf("realloc error!\n");
return -1;
}
printf("realloc 1MB: %p\n",str3);
memset(str3,'C',1024*1024*sizeof(char));
printf("mem content:%s\n",str3);
str4 = (char*)realloc(str3,3*1024*1024*sizeof(char));
if(str4==NULL)
{
printf("realloc error!\n");
return -1;
}
printf("realloc 3MB: %p\n",str4);
memset(str4,'D',3*1024*1024*sizeof(char));
printf("mem content:%s\n",str4);
str5 = (char*)realloc(str4,10*1024*1024*sizeof(char));
if(str5==NULL)
{
printf("realloc error!\n");
return -1;
}
printf("realloc 10MB: %p\n",str5);
memset(str5,'E',10*1024*1024*sizeof(char));
printf("mem content:%s\n",str5);
free(str5);
return 0;
}
版权声明:本文博主原创文章,博客,未经同意不得转载。
采用malloc分别分配2KB个人空间,然后,realloc调整到6KB、1MB、3MB、10MB场地,分别这五内存“A”、“B”、“C”、“D”、“E”灌装的更多相关文章
- 使用malloc分别分配2KB的空间,然后用realloc调整为6KB的内存空间,打印指针地址
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> i ...
- 使用malloc分别分配2KB,6KB的内存空间,打印指针地址
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> i ...
- malloc函数分配失败处理的严重性
本次在实际测试情况下,发现程序无缘无故的异常,导致看门狗超时复位,经过排查是malloc函数分配失败的时候,依然对指针进行了操作,导致异常.以前没重视这个问题是因为,总觉的malloc基本都会成功的, ...
- malloc(0)分配多少内存?(译文)
原文地址:http://prog21.dadgum.com/179.html 在大多的系统中,这个C的小程序将会吸收全部空闲的内存. ){ ); } 在我们聊malloc(0)之前,让我们看看mall ...
- 在内存充足时malloc函数分配内存失败的原因及解决
昨天在修改自己的代码的时候,碰到了malloc函数内存分配失败,上网翻了翻,一个很可能的原因是之前的代码出现了越界操作,导致malloc分配函数所涉及的一些信息被破坏.在这个思想的指导下,今天又是郁闷 ...
- experiment : 在私有堆和默认进程堆中, 测试能分配的堆空间总和, 每次能分配的最大堆空间
实验环境: Win7X64Sp1 + vs2008, 物理内存16GB. 实验结论: * 进程堆的最大Size并没有使用完剩余的物理内存 * 每次能分配的最大堆空间接近2M, 不管是私有堆 ...
- test dword ptr [eax],eax ; probe page.局部数组变量定义所分配的最大空间为1M
问题的出现 使用VS2017编写程序时,程序编译可以通过,但运行时就会弹出错误 经过查证发现: 这跟局部数组变量定义所分配的最大空间设置大小有关. 局部变量的申请空间是存放于栈中,windows里默认 ...
- malloc函数分配内存失败的常见原因
malloc()函数分配内存失败的常见原因: 1. 内存不足. 2. 在前面的程序中出现了内存的越界访问,导致malloc()分配函数所涉及的一些信息被破坏.下次再使用malloc()函数申请内存 ...
- centos7 挂载未分配的硬盘空间
=============================================== 2019/7/28_第1次修改 ccb_warlock == ...
随机推荐
- 存储管理(两):openfiler它accounts
存储管理(一个):openfiler演示和存储理解 openfiler的用户集中控制主要分为ldap和ad实现,当中openfiler本身可以作为ldapserver.使openfiler上的全部功能 ...
- mysql常见操作汇总
1.Mysql服务突然启不来了,报错: 在分析时发现MySQL Server 5.0\data下面有个名称为用户名,扩展名为.err的文件: 150725 20:01:19 [Note] 自己的安装目 ...
- HTML高级标签(2)————窗体分帧(1)————分帧演示
我们能够简单的编写一个多帧的窗体,而且能够随意的划分窗体区域. <frameset rows="*,*,*"> <frameset cols="*,*& ...
- SQLHlper意识
经过学习,通过线敲登录的三个例子,敲四行CRUD样品,因此,访问数据库多次,在这些链接库.打开都一样.只是不同的操作将针对不同的表进行.始学习面向对象的思想.当让要对这些不变的要内容要进行打包,提高代 ...
- Java 多线程编程两个简单的例子
/** * @author gao */ package gao.org; public class RunnableDemo implements Runnable{ @Override publi ...
- GCD下载图片
cell.myimage.layer.masksToBounds=YES; cell.myimage.layer.cornerRadius=cell.myimage.frame.size.wi ...
- WPF学习(1)WPF概述
WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于NET Framework 3.0的一部分.它提供了统一的编程模型 ...
- Big ball of Mud
Big ball of Mud 第一种死法:Big ball of Mud 架构里最常用的反面案例是 big ball of mud.很大程度上可以说打格子,把复杂的系统拆解成小格子是架构师最重要的工 ...
- android怎么在launcher改动内置apk的icon
找到launcher下的IconCache中加入变量用来存储要改动apk的包名 及要改动成的icon private String[] className = {"com.google.an ...
- Display Database Image using MS SQL Server 2008 Reporting Services
原文 Display Database Image using MS SQL Server 2008 Reporting Services With the new release of MS SQL ...