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

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条回答
校草02
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]内存池里?
      

一周热门 更多>