Tim*_*len 2 variables methods xcode declaration objective-c
在我的方法中,我声明了一些变量,包括int blockCount;.我不止一次称这种方法.使用Xcode调试器,我发现在第二次调用该方法之后,将值blockCount设置为364265,而将其设置为2,仅提前几毫秒.
这不是一个真正的问题,因为我可以将它设置为0或我想要的任何其他数字,但是一次又一次地声明某个变量是不好的编程习惯?我对编程很陌生,我想确保我正确地做事.:)
如果声明变量但不为其提供值,则将其视为"未初始化".C中的未初始化变量具有"未定义"值 - 它通常是垃圾,包含上次写入内容时发生在该地址的任何内容.严格来说,"未定义"意味着您在任何情况下都不应该尝试使用该值.(如果你搜索"鼻子恶魔",这将用非常丰富多彩且有用的术语来解释.*)
这个变量是本地变量,每次运行时都会重新创建,因此每次传递都会获得一个新的实际值,但技术上仍然是未定义的值.
通常建议不要将变量保留为未初始化,因为"随机"值可能会导致难以发现的错误,并且偶尔会召唤出上述的恶魔.你没有做错什么,但如果你没有在声明的一行或两行中设置实际值,我建议将其初始化为0或一些合理的默认值:
int blockCount = 0;
Run Code Online (Sandbox Code Playgroud)
*另请参阅:C中声明的未初始化变量会发生什么?它有价值吗?
| 归档时间: |
|
| 查看次数: |
369 次 |
| 最近记录: |