Shi*_*gon 9 c variables initialization nm
我有以下C代码:
//declared at the beginning of the CAStar.c file:
int TERRAIN_PASSABLE = 1;
int TERRAIN_IMPASSABLE = 0;
int TERRAIN_SOME_WHAT_PASSABLE = 2;
Run Code Online (Sandbox Code Playgroud)
我注意到,对于这些变量中的任何一个,如果它们具有非零值,则"nm"命令将它们报告为类型"D"(初始化):
_TERRAIN_PASSABLE |00000008| D |
_TERRAIN_SOME_WHAT_PASSABLE|00000004| D |
Run Code Online (Sandbox Code Playgroud)
但是,初始化为0的那些报告为"B"(未初始化):
_TERRAIN_IMPASSABLE |00000000| B |
Run Code Online (Sandbox Code Playgroud)
为什么"初始化为0"和"用0以外的其他东西初始化"之间的区别?
归档时间: |
|
查看次数: |
401 次 |
最近记录: |