C++里的memset

在C++中,memset函数可以用于将一段内存区域设置为指定的值。它的函数原型如下:

c
Copy code
void *memset(void *s, int c, size_t n);
该函数的第一个参数是指向要填充的内存区域的指针,第二个参数是要填充的值,第三个参数是要填充的字节数。

例如,以下代码将数组arr中的所有元素设置为0:

c++
Copy code
int arr[10];
memset(arr, 0, sizeof(arr));
注意,memset函数不能用于非POD类型(例如std::string或std::vector),因为它会尝试将非POD类型的对象设置为指定的值,这可能会导致未定义行为。在这种情况下,应该使用其他方法来填充数据,例如循环或std::fill函数。

相关注意点:

  1. memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的;
  2. 包含在 <string.h> 头文件中,可以用它对一片内存空间逐字节进行初始化;
    原型为
  3. void *memset(void *s, int v, size_t n);
  4. 这里s可以是数组名(数组名为指向数组首元素的指针),也可以是指向某一内在空间的指针;
  5. v为要填充的值;
  6. n为要填充的字节数;
  7. memset是逐字节 拷贝的。
  8. 在memset使用时要千万小心,在给char以外的数组赋值时,只能初始化为0或者-1。
char str[9];
memset(str,0,8);
int num[8];
memset(num,1,32)
posted @   Travelever  阅读(209)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示