关于c语言的int与size_t

时间:2021-03-28 17:05:50
我在写程序时经常把int与size_t混用,也没出过什么问题,
请问这样是否不好,会不会产生可移植方面的问题, 谢谢

13 个解决方案

#1


size_t 是个非常大的数,也没有什么关系了。

#2


通常不用考虑那末多。

#3


确实不好

#4


typedef unsigned int size_t;

size_t是无符号的,混用一般没什么问题

#5


你能确定没问题的话就可以。

#6


一旦出错,就没法查了^_^

#7


size_t就是unsigned int

#8


要是到64位机,可能size_t就是unsigned long了。。。

#9


在不同的编译环境下

typedef  unknown type    size_t

不太明确

#10


混用肯定是不好了,有符号数和无符号数混用容易出问题,
比如在比较的时候.

#11


size_t其实就是unsigned int;
对于数组下标推荐使用size_t,因为数组下标本身就不能为负;
但 for( size_t i=0; i<=INT_MAX; ++i ) 会死循环,因为size_t永远小于INT_MAX

#12


楼上的应该改成for(size_t i=0;i-INT_MAX<0;i++)吧

#13


size_t 一般是unsigned long

#1


size_t 是个非常大的数,也没有什么关系了。

#2


通常不用考虑那末多。

#3


确实不好

#4


typedef unsigned int size_t;

size_t是无符号的,混用一般没什么问题

#5


你能确定没问题的话就可以。

#6


一旦出错,就没法查了^_^

#7


size_t就是unsigned int

#8


要是到64位机,可能size_t就是unsigned long了。。。

#9


在不同的编译环境下

typedef  unknown type    size_t

不太明确

#10


混用肯定是不好了,有符号数和无符号数混用容易出问题,
比如在比较的时候.

#11


size_t其实就是unsigned int;
对于数组下标推荐使用size_t,因为数组下标本身就不能为负;
但 for( size_t i=0; i<=INT_MAX; ++i ) 会死循环,因为size_t永远小于INT_MAX

#12


楼上的应该改成for(size_t i=0;i-INT_MAX<0;i++)吧

#13


size_t 一般是unsigned long