前回の質問で、お世話になった方々には重ねて御礼申し上げます。
さて今回の質問なのですが、javaで大きいサイズの配列(具体的にはx[50000]など)を扱っていたのですが、
C言語でおなじように大きいサイズの配列を扱おうとすると、コンパイルはできるのですが、
実行画面で途中でとまってしまいます。
とりあえず、例として簡単なプログラムを組んでみました。
#include <stdio.h> void main(void) { int i; double x[3500]; for(i=0;i<3500;i++) { x=0.0; printf("%5d\n",i); } }
このプログラムを実行すると3000あたりでとまりCPU使用率が100%になってしまいます。
これはPCスペックの問題なのか、コンパイラの問題なのか、それとも根本的にプログラムの書き方が間違ってるのか
もしくは単にC言語ではそこまでの大きさの配列は扱えないのか、はたまたそれ以外の理由なのか、
お答えいただければと思います。
(理想は可能ならdouble型の配列でサイズ[50000]くらいのを4つ扱いたいとおもっています、
なんだか無理っぽい気がひしひしとしてますが)
以下スペックその他になります。
OS ウインドウズXP
コンパイラ LSI C-86 試食版
PC VGC-H31B
メインメモリ 512MB
CPU インテル® Celeron® D プロセッサー 351 (3.20GHz)
C言語の能力 機械工学部生が基礎科目でとりあえず学んだ程度です。