0
私はリンクされたリストを学び始めていて、それを使いこなしていましたが、問題に遭遇しました。実際に比較するためにデータメンバーにアクセスする方法がわかりませんでした。私のコードでは、ユーザーに成績の入力を促し、-1を入力すると入力が完了したことを知らせます。私の最初の考えは、scanfで行ったようにデータを取得するためにポインタをノードに向けることでしたが、整数へのポインタを比較することはできません。リンクリストからデータメンバーを比較する方法はありますか?また、他のエラーを指摘しても、私はリンクされたリストをあまりよく知らないので、同様に評価されるでしょう。必ず確認してください)一時変数にリンクされたリストからデータセクションを比較するにはどうすればよいですか?
2を使用 -
1)リストに直接スキャンしないでください:あなたのコードの問題の数があり
int main() {
struct Node
{
int grade;
struct Node *next;
};
struct Node *head;
struct Node *first;
struct Node *temp = 0;
first = 0;
while (****** != -1) { //This is what I need the data from linked list for
head = (struct Node*)malloc(sizeof(struct Node));
printf("Enter the grade: \n ");
scanf("%d", &head -> grade);
if (first != 0) {
temp -> next = head;
temp = head;
}
else
{
first = temp = head;
}
}
}
スカイ、リンクリスト(あるいはその他の複雑な構造体)を学ぶときは、8.5x11の紙と鉛筆を引き出し、それらをリンクするノードとノードポインタを描画します。小さな例4-5のノードをとり、 'add'、' del'、 'find'などの関数を使って参考にして、リンクとループを正しいものにします。インスピレーションを期待して画面を無限に見ているよりはるかに時間がかかります。 –