char配列がグローバルまたは静的ローカルの場合、その要素は\ 0に初期化されることは知っていますが、char配列が外部変数の場合はどうなりますか?
3873 次
4 に答える
3
変数がexternとして宣言されているが非グローバルである場合、その変数も同じ初期化処理を受け取ります。例えば
namespace A { extern int x; int x;}
この非グローバル変数はゼロに初期化されます。すべての名前空間スコープ変数がこの処理を受け取ります。
于 2012-12-01T14:02:30.760 に答える
3
extern変数は単なる宣言です。変数は、それを定義したモジュールで初期化されます。そのモジュールでは、変数はグローバルであるため、ゼロで初期化されます。
于 2012-12-01T13:52:49.110 に答える
2
extern
単なる宣言です。
変数が初期化されるかどうかは、定義によって異なります。
また、変数の値は初期化のタイプによって異なります。C ++標準では、次の3種類の初期化が定義されています。
- ゼロ初期化
- デフォルト-初期化
- 値-初期化
C++03標準8.5/5はそれぞれを適切に定義します。
良い読み物:
于 2012-12-01T13:52:47.660 に答える
1
キーワードは変数が存在することを宣言するextern
だけで、その値を定義しません。グローバルスコープのため、0に初期化されました
于 2012-12-01T13:54:46.937 に答える