结构体指针初始化的问题:
我定义了一个结构体:
typedef struct
{
float Test[10];
u32 addr;
u16 Count;
u16 Safe_Cnt;
u16 Danger_Cnt;
u16 Year;
u8 Month;
u8 Day;
u8 Hour;
u8 Minute;
u8 Seconds;
u8 TestResualt;
u8 TestState;
}RecordStruct; //共59个字节
RecordStruct *OutData;
初始化的时候给他分配内存:
OutData = (RecordStruct*)malloc(sizeof (RecordStruct));
这样调试程序的时候总是会在初始化分配内存的时候进入硬件中断,错误提示是“IMPRECISERR"不精确数据总线错误,但是如果我定义的时候将结构体中的最后一个字节“u8 TestState”去掉的话程序就能够正常执行,不会进入到硬件中断,这是为什么呢? |