ベクトルはコンパイル前からサイズ (次元) が分かっていて、それが小さければ、 1 次元配列で扱うのが簡単であろう。 サイズが大きい場合に自動変数 (関数の中で宣言する変数) として宣言するのは、 避けるべきである。
サイズが事前に分からないか、分かっていても大きい場合は、 malloc() で動的に割りあてるのが良いであろう。
double a[1000]; // 1000を変数にすることは出来ない int main(void) { double b[1000]; // 大きなデータは難点あり。スタックサイズ不足で Seg fault 等 double *c; // おすすめ c = malloc(sizeof(double) * 1000); // 1000を変数にも出来るし、大きくても大丈夫 if (c == NULL) { // エラー処理 } ... |