私はこの機能に困惑しています。
int i;
for(i = 1; i<10; i++){
int arr[i];
printf("%d\n",sizeof(arr));
}
return 0;
制限された (ESP による) スタック メモリで、どのようにスペースを増やすことができますか? ある種のコンパイルのトリックはありますか?
説明のために編集:スタックはそのようなものであるべきではありませんか?
0 ---> val of i uninitialized
-4 ---> arr[0] uninitialized
そして最初のループの後
0 ---> val of i uninitialized
-4 ---> arr[1] uninitialized
-8 ---> arr[0] uninitialized
私は言いたくなります: ESP はループの各反復の下に移動していますか?