memset的功能

时间:2014-12-12 05:18:46

标签: c++ memset

我在某些地方读过memset写入"字节方式"。

假设我有一个数组int a[100]并且我使用memset(a,127,sizeof(a));,每个整数的每个字节都会被分配到位集1111111吗?

也就是说,数组的每个元素现在都会包含一个非常大的整数吗? (确切地说2139062143

2 个答案:

答案 0 :(得分:3)

是的,如果您将memset()的第三个参数更正为

memset(a, 127, sizeof(a));

答案 1 :(得分:0)

void* memset( void* dest, int ch, std::size_t count );

将值ch转换为unsigned char并将其复制到dest指向的对象的每个第一个count字符中。如果对象不是简单可复制的(例如,标量,数组或C兼容的结构),则行为是未定义的。如果count大于dest指向的对象的大小,则行为未定义。

所以,是的,每个字节都会分配111 ...