memset函数
头文件为 #include
memset为内存填充函数,可以用它对一片内存空间进行初始化, 它可以一字节一字节地把整个数组设置为一个指定的值
其原型为**void memset(void s, int v, size_t n);
这里s可以是数组名,也可以是指向某一内在空间的指针;
v为要填充的值;
n为要填充的字节数,通常为sizeof(s);
使用memset时要注意的是,memset是逐字节进行填充,所以s一般为char *型。
/*
memset是按字节操作的,它能够对数组清零是因为0的每个字节都是0
但0x3f3f3f3f的每个字节都是0x3f
数组清零可以直接 memset(h,0,sizeof h);
数组初始化为无穷大时 memset(h,0x3f,sizeof h)
memset(h,-1,sizeof h); // -1在二进制中是每位都是1,然后把每个字节都赋成-1,那整个就是-1
*/
#include <iostream>
#include <cstring>
using namespace std;
const int nullx=0x3f3f3f3f;
int a[100];
int main()
{
int t=nullx;
//memset是按字节进行操作,然后a是int型有4个字节就是4个0x3f
memset(a,0x3f,sizeof a);
cout << t << endl << a[2];
return 0;
}
//输出结果:t=a[2]