看流星社区

 找回密码
 注册账号
查看: 2982|回复: 3

关于动态内存

[复制链接]

该用户从未签到

发表于 2011-12-23 19:15:41 | 显示全部楼层 |阅读模式
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int *blood = (int*) malloc( sizeof(int));     /*申请一个4字节内存,用来存放血址 */
    *blood = 100;   
        printf( "%d\n", *blood );
       
    while( scanf("%d",blood) )
    {
        printf( "\n%d", *blood );
    }


    free(blood);
    return 0;
}


我想用以上代码模拟动态内存。但为什么每次申请地址都是一样的?  如何弄成不一样的呢?

该用户从未签到

 楼主| 发表于 2011-12-24 12:45:49 | 显示全部楼层
我想看看游戏血量的动态地址是怎么实现的。一般的说法是 血址申请的是局部变量。所以每次加载的地址都不一样。但我用上面程序试验的话,本机上运行的话,血地址每次运行都是不变的
  • TA的每日心情
    萌哒
    2021-11-26 08:49
  • 发表于 2011-12-25 18:07:09 | 显示全部楼层
    回复 2# bjt123


        你的理解完全错误
    既然是动态申请,只要复合满足申请大小成功的内存地址区间,都可以,你这个一样是因为这块内存一直没被使用。

    该用户从未签到

     楼主| 发表于 2011-12-26 13:52:10 | 显示全部楼层
    回复 3# 果粒


        请问有什么良方,模拟游戏血址的动态内存吗? 比如 这种[[[[[[[[0049aadc]+16]+c0]+34]+2c4]+118]+0]+1c]+108
    点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
    您需要登录后才可以回帖 登录 | 注册账号

    本版积分规则

    小黑屋|手机版|Archiver|看流星社区 |网站地图

    GMT+8, 2024-4-24 22:37

    Powered by Kanliuxing X3.4

    © 2010-2019 kanliuxing.com

    快速回复 返回顶部 返回列表