C言語関係掲示板

過去ログ

No.159.for文の継続条件が「変数;」の意味


No.1020

for文で分からないことがあります。
投稿者---benikobusi(2002/02/04 23:46:35)


はじめまして。
自己参照構造体について勉強していて,でてきた疑問ですが
ある書籍で次のようなfor文があって理解に苦しんでいます。

for(p=head; p->next; p=p->next)

これは構造体を使ったリスト構造の使い方の例文のなかに出ているのですが,、

データの要素である構造体は

struct list_node{
int code;
char name(NAME_SIZE);
struct list_node *next;
};
です。
で、新しいデータを挿入する関数の中にそのfor文が有るわけですが、一番
理解できないのは真中の p->next のところです。
この部分は条件を表すのですよね。
i<N とか いうのはわかりますが、p->next というのは一体何を意味するのでしょうか?
初心者なので質問の仕方もおかしいかも知れませんが、
御指導頂ければ、ありがたいです。


No.1022

Re:for文で分からないことがあります。
投稿者---ともじ(2002/02/05 10:32:52)


こんにちは。

> for(p=head; p->next; p=p->next)

>理解できないのは真中の p->next のところです。
>この部分は条件を表すのですよね。

条件ですから、「真」の間ループしますよね。
C言語で「真」は「≠0」ですので、p->next!=NULL ということになります。
自己参照構造体については、
http://www9.plala.or.jp/sgwr-t/sec15-5.htm
にまとめてありますので、ご参照ください。


No.1027

Re:for文で分からないことがあります。
投稿者---benikobusi(2002/02/05 19:01:38)


分かりやすい回答有難うございました。
(構造体についてのマスターはまだこれからですが。)
この疑問が解けただけでも私にとっては大きな収穫です。
これを機にC言語をいちから学び直そうと思っています。
さいわい、こんな有りがたいサイトも発見したし、、、。
これからもよろしくお願いします。



戻る


「初心者のためのポイント学習C言語」 Last modified:2002.03.16
Copyright(c) 2000-2002 TOMOJI All Rights Reserved