[编程]成都控制器开发:千万注意,不要轻易把变量定义和赋值搞在一起

Posted yonkotech

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[编程]成都控制器开发:千万注意,不要轻易把变量定义和赋值搞在一起相关的知识,希望对你有一定的参考价值。

最近开发编写一个测试设备的程序(C程序),在定义一个全局变量的时候,之前我喜欢在定义的时候直接赋值,如这样:

unsigned char a=0;//这里直接给变量a定义并赋值

void main_function()

{

//在这里使用a

...

}

不过这样做的时候却有时可能要出问题,比如可能导致在后期使用的时候a可能不等于0。最近就被这个故障烦了好久,起初检查好几遍了都无头绪,最后用串口把变量a传出显示才发现,a的数值变了,

a咋会变呢?你打si也想不到它会变心,

技术图片

最后改为如下面的定义和赋值单独进行,问题才得以解决,

unsigned char a;//定义a

void main_function()

{

a=0;//给a赋值

...

}

其实之前按照前一种方式做的也都没有问题,不过最近又修改了不少代码才出了故障。有时候看似省了一行代码,其实导致了不可预见的不稳定的bug,还是应当按照规范来,毕竟,找出这个问题在哪里实在太不容易了,要花很多时间和尝试。

更多干货,尽在微信公众号:yonkotech

以上是关于[编程]成都控制器开发:千万注意,不要轻易把变量定义和赋值搞在一起的主要内容,如果未能解决你的问题,请参考以下文章

渣硕Android开发找工作都这么难了吗?千万不要轻易离职......

千万不要轻易尝试“熊猫烧香”,这不,我后悔了!

IT人不要一辈子靠技术生存

千万注意!下载java不要踩的坑!!

linux下删除文件夹的软链接时注意千万不能在后面加反斜杠,千万不要用强制删除,否则下面2种场景,你会把源文件删除,要闯祸的

注意了!Kafka与RabbitMQ千万不要乱用…