采用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 == ...
随机推荐
- Chapter 1 Securing Your Server and Network(12):保护链接server
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38438363.专题文件夹:http://blog.csdn.net/dba_huangz ...
- 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 print-all-combinations-of-given-length
// 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 /* Input: set[] = {'a', 'b'}, k = 3 Output: aaa aab aba ...
- Windows PHone 8 获取硬件信息
/// <summary> /// 获取系统信息 /// </summary> private string GetDeviceInfo() { StringBuilder s ...
- SQL Server中TempDB管理(version store的逻辑结构)
原文:SQL Server中TempDB管理(version store的逻辑结构) 原文来自: http://blogs.msdn.com/b/sqlserverstorageengine/arch ...
- 2012在数据库技术会议上的讲话PPT打包
2012技术大会演讲PPT打包 DB2 Overview of Disaster Recovery Options.pdf: http://www.t00y.com/file/76767890 ...
- Android 墙纸设置代码 详细说明
使游戏图像列表.思考添加壁纸功能.我发了一些资料. 1 别忘记在ApplicationManifest.xml 中加上权限的设置. <uses-permission android:name = ...
- 在Mac OS上配置Android开发环境
1)安装配置NDK 1.1 下载NDK并解压缩 下载路径 https://developer.android.com/tools/sdk/ndk/index.html 在terminal运行: chm ...
- Java虚拟机类型卸载和类型更新解析(转)
转自:http://www.blogjava.net/zhuxing/archive/2008/07/24/217285.html [摘要] 前面系统讨论过java 类型加载(loa ...
- Parse 和 Swift 搭建一个像 Instagram
如何用 Parse 和 Swift 搭建一个像 Instagram 那样的应用? [编者按]本篇文章作者是Reinder de Vries,既是一名企业家,也是优秀的程序员,发表多篇应用程序的博客 ...
- Hybrid----U采用IWebView演出PDF和其他文件
App如果你需要显示pdf.word档,在这个时候有没有其他控制,比UIWebView更适合,这是高度抽象的技术细节,可以非常easy采用 UIWebView打开文件类型列表 watermark/2/ ...