100万を超える整数を割り当てることはできません

私はソートアルゴリズムの時間と比較を試みています。私が理解しているところでは、
sizeof(int)は4バイトなので、 int array [million];
は4,000kbまたは4MBの大容量です。

なぜ私はできないのですか?私はもっ​​と私が持っていると確信しています。正確には2GBです。

それが何かを意味するならgccを使っています。

ベストアンサー

多くの整数を積み重ねることはできません。

配列のヒープ上にスペースを割り当ててみてください。

int *array = malloc(1000000*sizeof(int));
// if array is not null, then you have an array with 1,000,000 ints.

並べ替えアルゴリズムを完了したら、配列を解放します。

free(array);//frees memory allocated before

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です