c语言结构体赋值 语法错误,C语言结构体赋值问题 - tahiti_aa的个人空间 - OSCHINA - 中文开源技术交流社区...

【问题描述】

之前的系统参数用一个结构体变量tempBasicInfo来保存,成员类型有:uint8_t、uint16_t、结构体,结构体成员为uint8_t、uint16_t;今天需要添加一系列参数,用了一个uint8_t和三个uint8_t数组;以前配置完tempBasicInfo后会将其赋给常驻的stBasicInfo:

stBasicInfo = tempBasicInfo;

增加数组成员后,编译无错,但是调试时出现异常,如:断点不停,或是有时单步可以,突然某一步直接run了;

【问题处理】

查了半天,才定位到这里,用memcpy替代后,正常。谨记之~!!!

typedef struct // 基本系统参数

{

uint8_t CfgFlag;

uint8_t ProtocolType;

uint8_t Operator;

uint16_t CollectInterval;

uint16_t UploadInterval;

uint8_t TotalNum;

structIPAddress IPAddress; // IP address & port NO.

#if defined(xxx)

uint16_t dtuTempUploadInt;

uint16_t statUploadInt;

uint16_t tempUploadInt;

uint8_t para_f4; // dtu uplink parameters

uint8_t para_f10[PARA_LEN_DOWN_LINK]; // dtu down-link parameters

uint8_t para_f29[PARA_LEN_UPLOAD_DATA]; // control parameters of upload data

uint8_t para_f31[PARA_LEN_TIME]; // time parameters of dtu

#endif

}strcBasicInfo;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值