关于memset()函数的一些解读,以前总以为,只要是个数组,用上memset()就能对其赋予想要的值,可是总是会有一些意想不到的错误!这或许就是所说的想当然吧!
这个函数在"string.h"这个头文件中
1)用于整型的数组初始化;用于-1,0可以得到想要的结果,当为其它的值的时候,就会得不到想要的结果
#include <stdio.h>
#include <string.h>
int main()
{
int i,j;
int a[5][5];
memset(a,0,sizeof(a));
//memset(a,-1,sizeof(a));
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
2)用于字符数组的初始化;可以数组赋予任意的字符
#include <stdio.h>
#include <string.h>
int main()
{
int i,j;
char a[5][5];
memset(a,‘a’,sizeof(a));
//memset(a,'-2',sizeof(a));
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%c ",a[i][j]);
printf("\n");
}
return 0;
}