首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修正MISRA警告: MISRA 18.4 (C90-2012;)

如何修正MISRA警告: MISRA 18.4 (C90-2012;)
EN

Stack Overflow用户
提问于 2015-07-20 09:00:33
回答 1查看 1.5K关注 0票数 1

我使用了一个API,它在一个正式的论证中捕获了参数的地址。但是,我使用了日志,并将该地址用于打印目的,因为我收到了MISRA警告,如下所示:

MISRA.PTR.ARITH指针用于算术或数组索引表达式。

我该如何修正这个警告?

代码片段(来自注释):

代码语言:javascript
复制
int8u my_api(uint8_t *a1,uint8_t *a2,uint8_t *a3)
{
  printf(" DeviceMAC: %02x%02x%02x%02x%02x%02x%02x%02x",
      a1[0],a1[1],a1[2],a1[3],a1[4],a1[5],a1[6],a1[7] );
  return 0;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-20 10:04:02

MISRA使参数的指针类型和数组类型有所不同。如果要使用数组索引,则函数头应该如下所示

代码语言:javascript
复制
int8u my_api(uint8_t a1[], uint8_t a2[], uint8_t a3[])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31512452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档