2结构在C中使用1个指针

时间:2014-07-06 06:42:22

标签: c pointers struct

我正在使用C中的链表项目,但是我在使用只有一个指针的2个结构时遇到了一些困难。

像这样的例子

struct makanan
{
    char nama [50];
    char nama_menu[50];
    float qty;
    int jumlah_bayar;
    int nomor;
    int harga;
    struct makanan *next;
    struct makanan *prev;
};
struct makanan *head;
struct makanan *bantu;
struct makanan *tail;

//menu's declaration
struct menu_makanan
{
    int harga;
    char nama_makanan[50];
};

由于我的老师说在这个程序中必须使用至少2个结构,我想问:

  • 如何在*head中使用*bantu*prev*nextstruct menu_makanan

1 个答案:

答案 0 :(得分:0)

鉴于菜单(menu_makanan)应该包含某种形状或形式的项目列表(makanan),并且假设makanan包含指向列表的指针,似乎合乎逻辑,你应该使用:

struct menu_makanan
{
    int harga;
    char nama_makanan[50];
    struct makanan *head;
};

harga成员可以保存head指向的列表中的项目数,或者它可能是其他值(因为如果需要,可以根据需要导出长度)定)。

如果您愿意,也可以将struct makanan *tail;成员添加到menu_makanan

现在全局变量headtail是多余的;这通常是一件好事。尽可能避免使用全局变量。由于我不确定bantu是做什么的,我无法判断这是否也是多余的,但它有可能是多余的,也可能是多余的。

相关问题