#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”灌装的更多相关文章

  1. 使用malloc分别分配2KB的空间,然后用realloc调整为6KB的内存空间,打印指针地址

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> i ...

  2. 使用malloc分别分配2KB,6KB的内存空间,打印指针地址

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> i ...

  3. malloc函数分配失败处理的严重性

    本次在实际测试情况下,发现程序无缘无故的异常,导致看门狗超时复位,经过排查是malloc函数分配失败的时候,依然对指针进行了操作,导致异常.以前没重视这个问题是因为,总觉的malloc基本都会成功的, ...

  4. malloc(0)分配多少内存?(译文)

    原文地址:http://prog21.dadgum.com/179.html 在大多的系统中,这个C的小程序将会吸收全部空闲的内存. ){ ); } 在我们聊malloc(0)之前,让我们看看mall ...

  5. 在内存充足时malloc函数分配内存失败的原因及解决

    昨天在修改自己的代码的时候,碰到了malloc函数内存分配失败,上网翻了翻,一个很可能的原因是之前的代码出现了越界操作,导致malloc分配函数所涉及的一些信息被破坏.在这个思想的指导下,今天又是郁闷 ...

  6. experiment : 在私有堆和默认进程堆中, 测试能分配的堆空间总和, 每次能分配的最大堆空间

    实验环境: Win7X64Sp1 + vs2008,  物理内存16GB. 实验结论: *  进程堆的最大Size并没有使用完剩余的物理内存    *  每次能分配的最大堆空间接近2M, 不管是私有堆 ...

  7. test dword ptr [eax],eax ; probe page.局部数组变量定义所分配的最大空间为1M

    问题的出现 使用VS2017编写程序时,程序编译可以通过,但运行时就会弹出错误 经过查证发现: 这跟局部数组变量定义所分配的最大空间设置大小有关. 局部变量的申请空间是存放于栈中,windows里默认 ...

  8. malloc函数分配内存失败的常见原因

    malloc()函数分配内存失败的常见原因:  1. 内存不足.  2. 在前面的程序中出现了内存的越界访问,导致malloc()分配函数所涉及的一些信息被破坏.下次再使用malloc()函数申请内存 ...

  9. centos7 挂载未分配的硬盘空间

    =============================================== 2019/7/28_第1次修改                       ccb_warlock == ...

随机推荐

  1. 存储管理(两):openfiler它accounts

    存储管理(一个):openfiler演示和存储理解 openfiler的用户集中控制主要分为ldap和ad实现,当中openfiler本身可以作为ldapserver.使openfiler上的全部功能 ...

  2. mysql常见操作汇总

    1.Mysql服务突然启不来了,报错: 在分析时发现MySQL Server 5.0\data下面有个名称为用户名,扩展名为.err的文件: 150725 20:01:19 [Note] 自己的安装目 ...

  3. HTML高级标签(2)————窗体分帧(1)————分帧演示

    我们能够简单的编写一个多帧的窗体,而且能够随意的划分窗体区域. <frameset rows="*,*,*"> <frameset cols="*,*& ...

  4. SQLHlper意识

    经过学习,通过线敲登录的三个例子,敲四行CRUD样品,因此,访问数据库多次,在这些链接库.打开都一样.只是不同的操作将针对不同的表进行.始学习面向对象的思想.当让要对这些不变的要内容要进行打包,提高代 ...

  5. Java 多线程编程两个简单的例子

    /** * @author gao */ package gao.org; public class RunnableDemo implements Runnable{ @Override publi ...

  6. GCD下载图片

    cell.myimage.layer.masksToBounds=YES;     cell.myimage.layer.cornerRadius=cell.myimage.frame.size.wi ...

  7. WPF学习(1)WPF概述

    WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于NET Framework 3.0的一部分.它提供了统一的编程模型 ...

  8. Big ball of Mud

    Big ball of Mud 第一种死法:Big ball of Mud 架构里最常用的反面案例是 big ball of mud.很大程度上可以说打格子,把复杂的系统拆解成小格子是架构师最重要的工 ...

  9. android怎么在launcher改动内置apk的icon

    找到launcher下的IconCache中加入变量用来存储要改动apk的包名 及要改动成的icon private String[] className = {"com.google.an ...

  10. 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 ...