c++的memset
时间: 2023-11-27 11:48:27 浏览: 36
在C++中,memset函数用于将一段内存空间的值全部设置为指定的值。其函数原型如下:
```c++
void *memset(void *ptr, int value, size_t num);
```
其中,ptr是指向要填充的内存块的指针,value是要设置的值,num是要设置的字节数。例如,下面的代码将一个长度为10的整型数组全部设置为0:
```c++
int arr[10];
memset(arr, 0, sizeof(arr));
```
需要注意的是,对于std::vector等数据类型,不应该使用memset来初始化,因为这些类型的内存布局可能比较复杂,直接使用memset可能会导致未定义行为或内存泄漏等问题。
另外,如果要将一个整数赋值给一个字节数组,可以使用memcpy函数,例如:
```c++
unsigned char bytes[4];
unsigned int num = 16843009;
memcpy(bytes, &num, sizeof(num));
```
这样,bytes数组中的值就是{1, 0, 0, 129},即00000001 00000000 00000000 10000001。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)