memset( ) 如何对数组和字符串起作用
How does memset( ) work even for an array as well for a string
As memset
获取字符串或数组的地址,并将它们视为字符缓冲区。
它如何知道必须赋值的给定值应该以 1 字节 (character
) 的集合或 [=17] 的集合来赋值=]4 字节 (integer
).
memset 始终将相同的字节值设置为每个字节。它无法区分字节数组和整数数组。
所以如果你 memset 一个整数到 0x02,这个整数将被设置为 0x02020202。
但事实并非如此。在第三个参数中,您必须指定要写入的字节数。它使用第二个参数中数据的unsigned char
(一个字节)。因此,如果您使用 memset(ptr, 257, 4)
,您会将 4 个字节设置为 0x01。
它不需要..您必须提供要设置为 memset 的最后一个参数的确切字节数。如果您提供较少的字节数,它不会设置所有字节
As memset
获取字符串或数组的地址,并将它们视为字符缓冲区。
它如何知道必须赋值的给定值应该以 1 字节 (character
) 的集合或 [=17] 的集合来赋值=]4 字节 (integer
).
memset 始终将相同的字节值设置为每个字节。它无法区分字节数组和整数数组。 所以如果你 memset 一个整数到 0x02,这个整数将被设置为 0x02020202。
但事实并非如此。在第三个参数中,您必须指定要写入的字节数。它使用第二个参数中数据的unsigned char
(一个字节)。因此,如果您使用 memset(ptr, 257, 4)
,您会将 4 个字节设置为 0x01。
它不需要..您必须提供要设置为 memset 的最后一个参数的确切字节数。如果您提供较少的字节数,它不会设置所有字节