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函数。
相关注意点:
- memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的;
- 包含在 <string.h> 头文件中,可以用它对一片内存空间逐字节进行初始化;
原型为 : - void *memset(void *s, int v, size_t n);
- 这里s可以是数组名(数组名为指向数组首元素的指针),也可以是指向某一内在空间的指针;
- v为要填充的值;
- n为要填充的字节数;
- memset是逐字节 拷贝的。
- 在memset使用时要千万小心,在给char以外的数组赋值时,只能初始化为0或者-1。
char str[9];
memset(str,0,8);
int num[8];
memset(num,1,32)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)