有人知道c++将一个数组全部清零的命令是什么吗?
c++将一个数组全部清零的命令是memset。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。
memset()函数原型是externvoid*memset(void*buffer,intc,intcount)buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度。
扩展资料
memset实例
#include<iostream>
#include<cstring>
usingnamespacestd;
intmain()
{
charbuffer[]="Helloworld\n";
cout<<"Bufferbeforememset:"<<buffer<<endl;
memset(buffer,'*',strlen(buffer));
cout<<"Bufferaftermemset:"<<buffer<<endl;
return0;
}
C++没有将一个数组完全清零的命令,但可以通过内存操作或循环赋值完成。
int arr[N];
memset(arr,0,N*sizeof(int));
注意memset命令的第三个参数,是以字节为单位的,因此不同类型的数组,要计算完整的内存字节长度做为第三参数。这里利用的是数组的内存连续性。
另外,数组初始化可以使用如下命令安全的全部给予0值:
int arr[N] = {0};
memset(s,0,sizeof(s));