memset初始化为特定的值遇到的坑
程序员文章站
2024-02-22 12:03:16
...
今天在单片机STM32F407调试程序,使用memset函数将某个short数组初始化为特定值,结果发现初始化值始终不对
int16_t MBCOM1_MODBUS_Buffer[50];
memset(MBCOM1_MODBUS_Buffer , -255 , sizeof(short) * 50);
在KEIL下打断点追踪,结果如下:
发现数组全部被初始化为257.
原因:
不能使用memset函数将short数组初始化为特定值,只能用遍历的方式将short数组初始化为特定值。
解决方法:
用遍历的方式将short数组初始化为特定值
uint8_t i;
for (i = 0 ; i < 50 ; i++)
MBCOM1_MODBUS_Buffer[i] = -255;
在KEIL下打断点追踪,结果如下:
用遍历的方式将short数组初始化为特定值,最终问题解决。
推荐阅读
-
memset初始化为特定的值遇到的坑
-
SpringBoot项目使用RedisTemplate遇到key值\xac\xed\x00\x05t\x00的坑
-
转 echarts 的使用时遇到的坑 初始化和销毁,亲测有效!
-
Python的类成员变量默认初始值的坑及解决
-
转 echarts 的使用时遇到的坑 初始化和销毁,亲测有效!
-
SpringBoot项目使用RedisTemplate遇到key值\xac\xed\x00\x05t\x00的坑
-
Vue中用props给data赋初始值时遇到的问题及解决方法
-
Vue中用props给data赋初始值时遇到的问题及解决方法
-
Python的类成员变量默认初始值的坑及解决