我阅读了using size_t for array indices的建议。

编写unsigned垃圾的标准和便携式方法是什么?

为什么不是规范的方式:

size_t i;
unsigned char uchar[10U];

uchar[0U]=10U;

for(i=2U;i<uchar[0U];i++) {
    uchar[i]=i;
    printf("%u\n",uchar[i]);
}

最佳答案

U中的0U只是噪音-因为它是一个简单的常量,其类型并不重要。更糟的是,没有size_t后缀。

实际上,您实际上很少需要后缀-即使这样,也常常使后na的编译器静音。

size_t建议适用于旨在存储未知的数组索引和索引计算的对象,或者用于数组维数计算的诸如1000 * 1000 * 1000 * 10之类的对象-这些应在size_t中发生,存在整数溢出或环绕的危险。

关于c - 规范的无符号后缀用作数组索引时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57874301/

10-13 00:37