如何释放结构体指针所指向的空间?

2019-07-20 23:29发布

typedef struct
{
   u16 backcolor;  //背景 {MOD}
   u16 start_x;        //开始的x坐标
   u16 start_y;        //开始的y坐标
   u8 seat_id[10];
}_seat_info;
_seat_info *seat_info;
seat_info=(_seat_info *)mymalloc(SRAMIN,100);        //分配_seat_info结构体

使用myfree 好像只能释放seat_info存储的地址空间,并不能释放地址所指向的空间?那如何释放结构体指针所指向的空间?






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
TinyBoy
1楼-- · 2019-07-21 04:34
 精彩回答 2  元偷偷看……
校草02
2楼-- · 2019-07-21 09:02
 精彩回答 2  元偷偷看……
校草02
3楼-- · 2019-07-21 10:06
本帖最后由 校草02 于 2016-3-12 14:27 编辑

经过实验:
1、打印出mem1base[MEM1_MAX_SIZE] 的地址范围是:0x20001d84-0x2000bd83
      &mem1base[0]是0x20001d84;
      &mem1base[MEM1_MAX_SIZE-1]是0x2000bd83;
2、seat_info结构体指针指向的内存地址范围是:0x2000b204-0x2000b9c0
     &seat_info[0].backcolor 地址是0x2000b204;
     &seat_info[1].backcolor 地址是0x2000b218;
     &seat_info[99].backcolor 地址是0x2000b9c0;

3、由1、2可知:结构体指针指向的内存位于 mem1base[MEM1_MAX_SIZE]内存池里。

那问题来了,为什么结构体指针指向的内存位于 mem1base[MEM1_MAX_SIZE]内存池里?
      
yyx112358
4楼-- · 2019-07-21 15:21
这涉及内存管理算法了,去看原子哥的内存管理教程
校草02
5楼-- · 2019-07-21 19:35
yyx112358 发表于 2016-3-12 17:15
这涉及内存管理算法了,去看原子哥的内存管理教程

不好意思,详细看了原子的内存管理实验,还是没有想通
为什么结构体指针指向的内存位于 mem1base[MEM1_MAX_SIZE]内存池里?

一周热门 更多>