>>192
プログラミング言語とコンパイラと環境による。

スクリプト言語だと途中で型が変わってたりするので、後出し拡張はあるかもしれんが、
そうでないなら宣言時に最大サイズ確保される。
C言語とかだとintで4バイト確保される(ほとんどの環境では)。

ついでにいうと、中途半端にケチケチ大作戦を展開しても、アライメント調整のパッディングを突っ込まれて、
結局メモリの利用効率はかわらん、ということもある。