memset包含在C的头文件string.h中,主要用在将一段内存初始化为某个值。如下:
int a[100];
memset( a,0,100*sizeof(int) );//将数组a初始化为0
需要注意的是:memset对内存赋值时严格按字节来的,所以memset只能用于对数组赋0或-1,0的二进制(补码)为0000 0000,而-1的二进制(补码)为1111 1111。
如下代码:
int a[2];
memset(a,1,2*sizeof(int));
cout<<a[0]<<" "<<a[1]<<endl;
运行结果:
按字节赋值为:0000 0001 0000 0001,转化为十进制正好是16843009。