後で、配列のサイズがわかる場合、変数はどのように定義すれば? – プログラミング – Home

後で、配列のサイズがわかる場合、変数は...
 
通知
すべてクリア

後で、配列のサイズがわかる場合、変数はどのように定義すれば?


きた
 きた
(@きた)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

恥ずかしいくらい、単純な質問です。

double ddd[p];
と、定義したいのですが、
最初は、そのpの数がわからず、
コードが走っている途中で、
p = calloc(eee.length, sizeof(double));
なりでわかったとすると、
型宣言の部分は、dddの場合、どう記述すればいいのでしょうか?
何も定義しないと、
”定義されていない識別子です。”
とエラーが出るし、
double ddd[];
などとやると、
”サイズを定義してください。”
と、やはり、エラーです。


引用解決済
トピックタグ
きた
 きた
(@きた)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

しかも
double ddd[];
ここのところを、あくまで、仮ですが、
double ddd[44100*5];
などと大きな数字の入れ込みをやってしまうと、
スタックオーバーフローが
出てしまいます。


返信引用
しま
 しま
(@しま)
ゲスト
結合: 18年前
投稿: 123
 

まず、 C の話なのか C++ の話なのか示してください。
開発環境や動作環境やについては必ず示してください。

対処の仕方が違ってきますから。

C だとすると、次の様に宣言出来るのではないですか?

double *ddd = null;


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

C++ならやり方はいくらもあるけども
要素数が決まるまで使えないんだから、
要素数Nが決まった時点で

std::vector<double> ddd(N);

しますね僕なら。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました