Намаст! Я хочу инициализировать мою позицию массива структуры 0 myList.items [0] с указателем на мою структуру элемента, но он выводит неровность на соответствующие позиции, когда я распечатываю ее из своей функции печати. Он изменяет то, что было предварительно инициализировано (для тестирования), поэтому я знаю, что оно работает частично, но что вызывает плохой вывод и что следует изменить?
До:
---- Мой список покупок ---------
1 - Шоколад 40 100 г
2 - Рыбный соус 9 л
После того, как:
---- Список покупок ---------
1 - c┴®¶²` 128565603 ■ lüIv
2 - Рыбный соус 9 л
typedef struct{
char name[20];
int amount;
char amountType[10];
}item;
typedef struct{
item *items[5];
int length;
}list;
int addItemToList(list *myList);
main(void)
{
list myList;
myList.length = 0;
for(int i; i<5;i++)
{
myList.items[i] = NULL;
}
addItemToList(&myList);
return 0;
}
int addItemToList(list *myList)
{
item newItem = {"Potatoes",2, "kg"};
myList->items[myList->length]=&newItem; //Something wrong here?
myList->length++;
printf ("Added [%s %i %s] as #%i.", newItem.name, newItem.amount,newItem.amountType, myList->length);
return 0;
}