手続き型言語をやっていると、データを組み合わせて取り扱う必要が出てくる。 例えば、顧客のデータを扱う必要があるとき、顧客の「名前、住所、所属、電話番号、取引内容...」など...
自分的には 構造体を覚える 構造体に構造体を入れ始める 構造体にあらゆるものを詰め込みたくなる 構造体にフラグとvoid*を入れ始める 関数がフラグ判定だらけになり始める 関数...
ぶっちゃけ、アンサイクロペディアの解説 http://ja.uncyclopedia.info/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91 で十分以上にわかりやすいと思うんだ。