構造体について勉強していてプログラムを調べながら作っていたのですが表示が終わった後にコアダンプしてしまいます。どこがおかしいのか指摘をください。0;}あとdata2->nameのところなんですけどここがなぜdata2.nameじゃなくてこうなるのかを教えてください。->の意味がよくわかりません。構造体について勉強していてプログラムを調べながら作っていたのですが表示が終わった後にコアダンプしてしまいます。どこがおかしいのか指摘をください。1要素分しかメモリを確保していないのに、n要素分(n>1)のデータを書き込んだら、データが破壊され、おそらく未定義の挙動になります。あとdata2->nameのところなんですけどここがなぜdata2.nameじゃなくてこうなるのかを教えてください。->の意味がよくわかりません。data2がポインタだからですね。a->bは(*(a))->bとほぼ同じです。5年前やっぱ入れる分だけ準備しないといけないんですね。data[10];見たいにはじめに定義しなくていくらでも入れれる方法はないのでしょうか?あと->が何をしているのかわからないので教えてください。while(i){ループの制御用に使うのはまずいような気がします。コアダンプの件と関係があるかどうかはわかりませんが...。あとdata2->nameのところなんですけどここがなぜdata2.nameじゃなくてこうなるのかを教えてください。->の意味がよくわかりません。->アロー演算子は、pが構造体を指すポインターでメンバーmにアクセスしたいときにp->mのように使います。意味は(*p).mと同じです。バグのないプログラムはない。プログラムは思ったとおりには動かない。5年前ああそういう意味だったんですね。ありがとうございます。どこがおかしいのか指摘をください。アルゴリズムの意図をくみ取るならば、19行目です。いう名前で宣言・定義しています。アドレスを代入しています。次のアドレスを計算しています。1つだけしか持っていませんので次なんてありません。次のアドレスにアクセスした時点で未定義です。提示されたコードを忠実に読み取るならば、12行目です。10行目で宣言されていますが、この時点では初期化されていません。実行された時点で、鼻から悪魔が飛び出します。あとdata2->nameのところなんですけどここがなぜdata2.nameじゃなくてこうなるのかを教えてください。->の意味がよくわかりません。アドレスだというのは分かると思います。値は、アドレスですのでワンクッション必要です。機械のくせに人間様にいちいちそのような手間を取らせるのは業腹物ですので、簡易的な記法が特別に用意されています。ポインタ型ですので、このように記述します。入れる分だけ準備しないといけないんですね。data[10];見たいにはじめに定義しなくていくらでも入れれる方法はないのでしょうか?あります。線形リストを利用するのが1つの方法です。ミクプラは自由にリンクできます。