size_t 类型的原型虽不好找,但可通过gcc -E xx.c来看到。
typedef unsigned int size_t; 于是它的类型其实是unsigned int的。
我们写代码时习惯于将索引值定为int型的,在while循环前给索引变量赋值为-1,这时很可能出问题了,-1与返回size_t值的字符串比较时,容易出现无符号与有符号值相比较的错误,此时索引值的值不是-1 而是INT_MAX!!
size_t 类型的原型虽不好找,但可通过gcc -E xx.c来看到。
typedef unsigned int size_t; 于是它的类型其实是unsigned int的。
我们写代码时习惯于将索引值定为int型的,在while循环前给索引变量赋值为-1,这时很可能出问题了,-1与返回size_t值的字符串比较时,容易出现无符号与有符号值相比较的错误,此时索引值的值不是-1 而是INT_MAX!!