返り値は、使う用途に応じて型キャストが必要である。確保したメモリは、その関数が終了すると、その領域は使えなくなる。確保したメモリが、最初に不要となる...ような使い方でしか使えない。計算処理中に一時的なデータの保存として、stackとqueueがよく利用されるが、それを配列を使って記述したり、任意の大きさにできるリストを用いて記述する。配列を使って記述すると以下のようになるであろう。1}しかし、この中にSTACK_SIZE以上のデータは貯えられない。同じ処理をリストを使って記述すれば、ヒープメモリを使い切るまで使うことができるだろう。;}キュー(QUEUE)2つの処理の間でデータを受け渡す際に、その間に入って一時的にデータを蓄えるためには、待ち行列(キュー)がよく利用される。Out)配列にデータを入れる場所(wp)と取り出す場所のポインタ(rp)を使って蓄えれば良いが、配列サイズを超えることができないので、データを取り出したあとの場所を循環して用いるリングバッファは以下のようなコードで示される。循環して追いついてしまう。そこで、このプログラムもリストを使って記述すると以下のようになる。ポインタが正しい位置になっていないため、おかしな状態になってしまう。2重管理を防ぐために、リストの先頭と末尾を1つのセルで管理する循環リストが使われることが多い。配列を用いたスタック・待ち行列は、どのような処理か?図などを用いて説明せよ。リスト構造を用いたスタック・待ち行列について、図などを用いて説明せよ。スタックや待ち行列を、配列でなくリスト構造を用いることで、どういう利点があるか?欠点があるか説明せよ。