答案:memset是C++中按字节初始化内存的函数,适用于数组清零、字符数组清空或设为-1等场景,但仅支持字节级赋值,不可用于浮点数或类对象,需注意sizeof使用正确,推荐std::fill替代以保证类型安全。

在C++中,memset 是一个用于快速初始化或清空内存块的函数,常用于数组、结构体等连续内存空间的操作。它定义在 头文件中(C语言中是 ),使用时需要包含该头文件。
memset 函数的基本语法
函数原型如下:
void* memset(void* ptr, int value, size_t num);ptr:指向要填充的内存块的指针(如数组名或地址)value:要设置的值,虽然是 int 类型,但实际只使用低8位(即字节值,0~255)num:要设置的字节数返回值:指向目标内存块的指针(一般可忽略)
常见用法示例
下面是一些典型的使用场景:
1. 将数组清零
立即学习“C++免费学习笔记(深入)”;
int arr[10];
memset(arr, 0, sizeof(arr));
这会将整型数组所有元素设为0。注意:这是按字节置0,对 int 类型有效是因为0的二进制表示每个字节都是0。
2. 初始化字符数组
char str[100];
memset(str, ‘