内存集的功能

Functioning of memset

本文关键字:功能 内存      更新时间:2023-10-16

我在某些地方读到memset写"byte-wise"。

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

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

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

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

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

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