0

これは、構造内で双方向にリンクされたリストを宣言する正しい手順ですか?関連性がある場合は、構造を使用してテキスト ファイルを読み込んでいます。

#define MAX 20
//struct to order contactList
struct contact
{
    string firstName[MAX],lastName[MAX],email[MAX],companyName[MAX];
    long phoneNum[MAX];
    struct listelement *link
    struct node *next;
    struct node *prev;

};
4

1 に答える 1

4

おそらくそうではありません。通常、struct contact *next; struct contact *prev;リスト内の項目は (おそらく)struct contactであり、そうではないため、 を使用しますstruct node

したがって、私は次のことを期待しています:

#define MAX 20
//struct to order contactList
struct contact
{
    string              firstName[MAX];
    string              lastName[MAX];
    string              email[MAX];
    string              companyName[MAX];
    long                phoneNum[MAX];    /* 20 phone numbers per contact — wow! */
    struct listelement *link;             /* Semi-colon added.  What is this for? */
    struct contact     *next;
    struct contact     *prev;
};

構造の電子メール要素が短すぎます (たとえば、私のメインの電子メール アドレスは収まりません。少なくとも 32 バイトが必要です)。これは、1 つの連絡先に対して非常に多くの電話番号です。また、long10 桁の電話番号がすべて保存されるわけではありません。

linkこの要素が何のためにあるのかは明らかではありません。おそらく、これらの構造を含む単方向リストの一部です。

于 2013-03-13T18:25:51.920 に答える