keil c51 动态内存分配,新手求指点!

2020-01-27 11:21发布

typedef struct  
{
        unsigned char          System_First_State;               
        unsigned char          System_Data_Length;               

}System_Data;

System_Data *System_Default_Data(void)
{       
        System_Data *System_Data_Default;

        System_Data_Default = malloc(2);

        System_Data_Default->System_First_State = 0x55;
        System_Data_Default->System_Data_Length = System_Init_Data_Length;

        return System_Data_Default;
}

问题1:如果上面的程序不使用malloc函数分配内存,返回的指针结构体会好使吗?会不会出问题?
问题2:如果不使用会出问题,有没有其它的方法解决,应该怎么样编写。
问题3:查阅网上资料说:c51如果使用动态内存分配,需要先init_mempool函数分配内存池,这个函数应该怎么使用?
问题4:为什么说51最好不要使用动态内存分配。

求各位大侠赐教!不胜感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。