どのように決定されますか?これはコンパイラ/アーキテクチャ/ホスト システムに依存しますか?
例:
int array[0x8000000000000000];
x86_64 ビット システムのこの行の場合、GCC は次のように出力します。
Error "size of array 'array' is too large".
どのように決定されますか?これはコンパイラ/アーキテクチャ/ホスト システムに依存しますか?
例:
int array[0x8000000000000000];
x86_64 ビット システムのこの行の場合、GCC は次のように出力します。
Error "size of array 'array' is too large".
int array[SIZE]
静的配列とは、固定長配列 (動的に割り当てられずに静的に割り当てられたもの) を意味すると思います。配列サイズの制限は、宣言された配列のスコープに依存する必要があります。
ulimit -a
スタック サイズを表示およびulimit -s STACK_SIZE
変更するために使用します。static int array[SIZE]
、配列は DATA または BSS セクションに格納されます (配列がそれぞれ初期化されているか初期化されていないかに基づいて)。DATA および BSS セクションのサイズは、基盤となる OS によって決まります。