Я работаю над проблемой, связанной с созданием инвентаря запасов супермаркетов, и у меня возникают значительные трудности. Предполагается, что программа должна запрашивать пользователя для ввода (имя элемента, количество, вес и цену), а затем добавить этот элемент в отсортированную (путем увеличения алфавитного порядка) базу данных.Борьба за формирование связанного списка
Итак, моя идея - создать связанный список. Я начал с определением следующее:
typedef struct item_t item;
struct item_t{
char name;
int weight;
int price;
int quantity;
item *next;
};
Таким образом, идея, что я буду за то, что каждый элемент имеет свои детали, хранящиеся в этом типе структуры, и что * следующим будет указывать на следующую структуру в связанный список.
Далее я пришел с этим:
void add_new_node_at_end(char *user_input){
new_node = (*item_t)malloc(sizeof(item_t))
if (new_node == NULL){
printf("Memory failure");
exit(EXIT_FAILURE);
}
}
Правильно ли это до сих пор?
Теперь я не слишком уверен, что делать с указателем * next, когда я создаю новый узел, и не знаю, как изменить поля структуры. Могу ли я просто использовать new_node.item = 'string'
или мне нужно также указать имена полей?
Извините, это может быть глупый вопрос, но мне действительно нужно, чтобы кто-то указал мне в правильном направлении.
«И я не знаю, как изменить поля структуры» - пока вы не знаете, как правильно настроить базовые данные в структуре, * и *, как указатели однонаправленного действия используются на языке C, * и * basic динамическое управление памятью, вы будете сталкиваться с стенами после стены. Вы просили направление так:: Узнайте, что * сначала *. – WhozCraig