<分区>
我尝试填充定义如下的结构数组:
typedef struct{
char directive[5];
}directive_nfo_t;
通过使用以下内容:
directive_nfo_t directive_list[]=
{
{"ALIGN"},{"ASCII"},{"BSS"},{"BYTE"},{"END"},{"EQU"},{"ORG"}
};
令我惊讶的是,前几个元素像这样损坏了:
[0]= ALIGNASCIIBSS
[1]= ASCIIBSS
[2]= BSS
...
直到我做了以下更改:
typedef struct{
char directive[6]; <-- made char array +1
}directive_nfo_t;
然后前几个数组是正确的,如下所示:
[0]= ALIGN
[1]= ASCII
[2]= BSS
...
我的问题是在后台发生了什么来解释这种行为? 问候。