Так что я пытаюсь загрузить s-записи из файла .s19 в память для задания, над которым я работаю, и его работы. Однако, когда я удаляю неиспользуемый массив из своего кода, все перестает работать и падает.Удаление неиспользуемой переменной приводит к сбою кода
Неиспользованный массив:
char test[65536];
И это загрузчик я написал:
void loader(FILE * srec)
{
char instring[SREC_LEN];
char test[65536]; // This isn't used, but the program crashes without it for some reason
int i=0;
int j=0, k,l;
while (fgets(instring, SREC_LEN, srec) != NULL)
{
while(instring[i] != '\n') // Counts the characters in the s-record
{
i++;
}
j = j+i;
for(k=0;k<=i;k++) // Puts the records into memory
{
memory[l] = instring[k];
l++;
}
l = j;
}
#ifdef DEBUG
printf("MEMORY: %s",memory);
#endif // DEBUG
}
Если вы могли бы помочь мне понять, почему это происходит, я был бы признателен.
Кажется, что случай неопределенного поведения. Что такое 'память'? – haccks
'l' неинициализирован. и 'i' необходимо выполнить сброс. – BLUEPIXY