18

で言うのは正確ですか?

void f() {
    int x;
    ...
}

" " は、スタックにバイトをint x;割り当てることを意味しますか?sizeof(int)

そのための仕様はありますか?

4

5 に答える 5

1

それは多くの要因に依存します。コンパイラは、値をレジスタに保持しながら、最適化してスタックから削除できます。等

デバッグでコンパイルすると、確かにスタックにスペースが割り当てられますが、わかりません。これは指定しません。指定するのは、変数の可視性と、そのサイズと演算だけです。詳細については、C99 仕様を参照してください。

于 2013-09-17T07:26:30.680 に答える