ローカル変数は自動変数とも呼ばれ、関数がアクセスされたときに実行時にメモリが割り当てられることになっています。
int main(){
int a; // declaration
return 0;
}
int main(){
int a[]; // compilation error, array_size missing
return 0;
}
int main(){
int a[2]; // declaration, but can't work without array_size,
// so at compile time it is checked!
return 0;
}
私の質問は、Cの宣言でarray_sizeを指定するのが単なるルールなのか、それとも配列のコンパイル時にメモリが割り当てられるのかということです(まだローカル変数)
それはどのように機能しますか?
配列は、K&R による C プログラミングによる変数です。pg no 161。