• ベストアンサー

大きさが領域未定の画像の配列を確保するとき

すいませんが、 画像の大きさ未定の配列を確保するとき、 どのようにしたらいいのでしょうか? 今までは想定されるMaxを取っていましたが 今度出来るだけその時にあった配列を取るようにしようと思ったのですがどのようにしたらいいのでしょうか? RGB値を分けてint型3つでも配列はこだわりません。 動的に配列が取れればいいのですが、定数が必要ですと出てきます。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Cの範囲であれば、 int *R; でポインタを確保して、 R = malloc(必要数 * sizeof(int)) で、領域を確保すれば、 R[i] のように、配列風にアクセスできます。 または、C99という新しい規格のC言語では、可変長配列が使えるようになりました。 C++の範囲であれば、 int *R に対して、 R = new int(数); で確保した領域を配列風にアクセスできます。 この場合、この領域の開放は、delete[] (配列用の delete )です。 また、STL を併用すれば、vector というコンテナを使って、 vector<int> R; に対して、 R.push_back(値) で連続的に値を放り込むことが出来ます。 それぞれの値は、R[i] のように、参照できます。 また、要素の数は、R.count() です。

gotyan
質問者

お礼

有り難うございます >int *R に対して、 >R = new int(数); これで行けそうです。 助かりました。

その他の回答 (1)

  • 6dou_rinne
  • ベストアンサー率25% (1361/5264)
回答No.1

配列のポインタを用意しておいて、実際に使うときにその大きさを調べて、動的に確保すればすむことではないでしょうか。

gotyan
質問者

お礼

有り難うございます。 ポインタで順次呼び出してやれば良かったんですね。 2次元配列の[][]ばかり気にしていたもので(^^;

関連するQ&A