C 使用size\u t而不是unsigned int有什么好处吗?

C 使用size\u t而不是unsigned int有什么好处吗?,c,string,size-t,C,String,Size T,比如说, int len1=strlen(字符串) 尺寸长度1=strlen(string1) 使用大小对编译器行为、代码运行时间或内存是否有任何影响? 我完全知道其中的区别,这在前面的另一个线程中得到了回答,但我担心RAM的行为。size\u t是无符号的,而int是有符号的。此外,在某些平台上,SIZE\u MAX可能大于sizeof(int)。因此,为了生成可移植代码,您应该使用大小(参见§7.18.3) 数据类型:大小\u t 这是一种无符号整数类型,用于表示对象的大小。sizeof运算

比如说,

int len1=strlen(字符串)

尺寸长度1=strlen(string1)

使用大小对编译器行为、代码运行时间或内存是否有任何影响?
我完全知道其中的区别,这在前面的另一个线程中得到了回答,但我担心RAM的行为。

size\u t
是无符号的,而
int
是有符号的。此外,在某些平台上,
SIZE\u MAX
可能大于
sizeof(int)
。因此,为了生成可移植代码,您应该使用
大小
(参见§7.18.3)

数据类型:大小\u t

这是一种无符号整数类型,用于表示对象的大小。sizeof运算符的结果属于此类型,并且 函数,如malloc(参见无约束分配)和memcpy (请参阅复制字符串和数组)将此类型的参数接受为 指定对象大小。在使用GNUC库的系统上,这将是 无符号整数或无符号长整数


size\u t
是无符号的,而
int
是有符号的。此外,在某些平台上,
SIZE\u MAX
可能大于
sizeof(int)
。因此,为了生成可移植代码,您应该使用
大小
(参见§7.18.3)

数据类型:大小\u t

这是一种无符号整数类型,用于表示对象的大小。sizeof运算符的结果属于此类型,并且 函数,如malloc(参见无约束分配)和memcpy (请参阅复制字符串和数组)将此类型的参数接受为 指定对象大小。在使用GNUC库的系统上,这将是 无符号整数或无符号长整数


size\t
可以存储一个数组可以获得的最大大小,因为它基本上可以获得与可寻址内存空间一样大的大小


unsigned int
仅由其最小范围(0到65535)定义,但它可能更大。例如,您希望它在32位机器上是32位的。

大小\u t
可以存储一个数组可以获得的最大大小,因为它基本上可以获得与可寻址内存空间一样大的大小

unsigned int
仅由其最小范围(0到65535)定义,但它可能更大。例如,您希望它在32位机器上是32位的。

所以生成的bin文件的内存会有所不同(我的MC面临ram限制)?谢谢你的回答!!所以生成的bin文件的内存会有所不同(我的MC面临ram限制)?谢谢你的回答!!