当前位置:   article > 正文

C\C++编程技巧之全局变量的初始化_c语言初始化全局变量

c语言初始化全局变量

为了增强代码的鲁棒性,减少不必要的bug出现,务必在定义变量的时候就想好在哪里对其初始化,对于全局变量,最好在该模块的init函数中对其初始化,该init函数一般在上电过程中初始化,对于文件内的局部变量一般在调用该模块时进行初始化(C++中构造函数是其中的一种,对于C代码就只能自己对手了),特别重要的是对于函数内的变量,如果函数实现特别复杂,该变量在代码块中有多个地方被调用,可以考虑在在该变量被赋值前被初始化,特别是包含了位操作的时候,为了避免bug的引入,最好将该变量赋值为0或0xF*。

场景:为了实现以下功能,如果某一个变量(l例如距离值)的值发生了改变,就执行特定动作(例如将该值打印出来,否则不执行),为了实现该功能,代码如下:

  1. int dis = 0;
  2. int dis_old = 0
  3. if(dis_old != dis)
  4. {
  5. dis_old = dis;
  6. printf("dis = %d", dis);
  7. }

考虑到如果第一次变量dis就是0的话,该动作并不会执行。故需要在上电初始化的时候,将该值设置为不相等,

如下:

  1. void dis_init(void)
  2. {
  3. dis_old = ~dis;
  4. }

不要将dis_old值置为某一个特定的值,不然会出现特定的bug

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/106376
推荐阅读
相关标签
  

闽ICP备14008679号