私は次のCコードを持っています:
//declared at the beginning of the CAStar.c file:
int TERRAIN_PASSABLE = 1;
int TERRAIN_IMPASSABLE = 0;
int TERRAIN_SOME_WHAT_PASSABLE = 2;
これらの変数のいずれかについて、値がゼロ以外の場合、「nm」コマンドによってタイプ「D」(初期化) として報告されることに気付きました。
_TERRAIN_PASSABLE |00000008| D |
_TERRAIN_SOME_WHAT_PASSABLE|00000004| D |
ただし、0 に初期化されたものは "B" (初期化されていない) として報告されます。
_TERRAIN_IMPASSABLE |00000000| B |
「0 で初期化」と「0 以外で初期化」の違いはなぜですか?