☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

指针与整数的加减运算应使用数组下标的方式

14.24 ID_missingArrayIndexing
目录 › next › previous

指针与整数的加减运算可以通过多种方式完成,为了提高可读性应统一使用数组下标的方式,不宜使用 +、-、+=、-= 等运算符,且应尽量减少指针运算。

指针的 ++、-- 运算和两个指针的减法运算可不受本规则限制。

示例:

int a[10];
int* p;

p = a + 1;      // Non-compliant
p = &a[1];      // Compliant

*(p + 1) = 0;   // Non-compliant
p[1] = 0;       // Compliant

p = p + 1;      // Non-compliant
p++;            // Compliant
p = &p[1];      // Compliant

参考

CWE-468 MISRA C 2004 17.4 MISRA C 2012 18.4 MISRA C++ 2008 5-0-15 SEI CERT EXP08-C
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.