我的目标是在将变量用作数组的下标时防止索引超出下限的条件。换句话说,我想将整数变量值限制为> = 0.类似于绝对值的排序,除了不是使负数为正数,它将使负数为零。
有没有比使用宏更好的方法:
#define gte0(value) (value < 0) ? 0 : value
然后在访问数组元素时使用此宏包装表示索引的变量?在访问带有表示索引的变量的数组元素之前,是否有标准的实践边界检查,而不是在代码中的每个位置手动执行?
我正在寻找C或Objective-C中的任何解决方案。
谢谢!
答案 0 :(得分:1)
索引需要unsigned int
或NSUInteger
个原语。然后,您将获得大于或等于零的值,最多UINT_MAX
或limits.h
定义的任何值,您只需要检查上限。
答案 1 :(得分:0)
无法在C中自动执行此操作。