memset()的用途:
1.用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘memset(a,'\0',sizeof(a));
ps:memset()是对其指向的内存按字节进行赋值的,如果对int型内存进行赋值 memset(array,1,5*sizeof(int)); 结果就是1684300916843009168430091684300916843009
因为memset 对array指向的5个4字节的int进行赋值为1,合在一起就是00000001000000010000000100000001 ,也就是上述结果。
2.memset可以方便的清空一个结构类型的变量或数组
ps:eg.对于结构体struct mystruct{
int a,
char name[5];
}; 通常,我们清空一个 mystructtest1;的方法是test1.name[0]={'\0'};test1.a=0;
此处其实可以使用memset(),会非常方便,memset(&test1,0,sizeof(struct mystruct));即可
如果是结构体数组;mystruct test2[10];则为:memset(test2,0,10*sizeof(struct mystruct));(仔细看有两点不同)