質問: c言語の配列をpush(追加)するには c言語の配列をpush(追加)するには タイトル通りなのですが、opencvにあるcvseqpushのように 配列の末尾に新たな数値を追加する関数はあるのでしょうか?? できれば、簡単なサンプルコードもしくはそれが掲載されているページを紹介していただくと とても助かります。よろしくお願いします。
回答: ありません。あきらめましょう。 c言語の配列はその定義時に要素数(正確には配列が必要とするバイト数)が固定されてしまい、その要素数を後から変更することはできません。 cvseqpushで末尾に新たな値を追加できるのは、その関数が扱う構造体cvseqが要素の追加・削除を行える構造になっていて、関数内でいろいろと処理をやっているからです。 # opencvは知りませんでしたが、リファレンス(参考url)を斜め読みしたところどうやら双方向リストを使用しているようです。 つまり、ただの配列に対して末尾追加を行っているわけではありません。 参考url:http://opencv.jp/opencv-1.0.0/document/opencvref_cxcore_sequences.html