【发布时间】:2015-05-12 06:50:40
【问题描述】:
我正在处理一个涉及创建超市库存清单的问题,我遇到了相当大的困难。程序应该做的是提示用户输入(项目名称、数量、重量和价格),然后将此项目添加到排序(按字母顺序增加)的数据库中。
所以我的想法是创建一个链表。我首先定义了以下内容:
typedef struct item_t item;
struct item_t{
char name;
int weight;
int price;
int quantity;
item *next;
};
所以我的想法是,每个项目的详细信息都存储在这种结构类型中,并且 *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' 还是我还需要 malloc 字段名称?
抱歉,这可能是一个愚蠢的问题,但我真的需要有人指出我正确的方向。
【问题讨论】:
-
“我也不知道如何更改结构的字段” - 直到您知道如何在结构中正确设置基本数据,和单间接指针是如何用在 C 语言中,和基本的动态内存管理,你会遇到一堵墙。你问了方向,所以......:了解那些首先。
标签: c data-structures struct linked-list