1、引入头文件:string.h
2、了解一下函数的参数void *memset(void *s, int c, size_t n);
void *s :可以传递数组名
int c : 数组需要赋值的数,最好赋值0,赋值别的数会和自己预期的不一样,下面会给出示例,请参考
size_t n : 需要赋值的字节数,最好使用sizeof(数组名)求总的字节数
3、示例:全部清空为0
#include<string.h>
int main(void)
{
char a[10];
char i;
memset(a,0,sizeof(a));
for(i=0;i<10;i++)
printf("%d “,a[i]);
putchar(’\n’);
return 0;
}
4、如果参数设为2,,数组为char类型和我们的想法是一样的
(1)、
#include<stdio.h>
#include<string.h>
int main(void)
{
char a[10];
char i;
memset(a,2,sizeof(a));
for(i=0;i<10;i++)
printf(”%d “,a[i]);
putchar(’\n’);
return 0;
}
(2)、请对比一下如果数组是int类型就会不一样
#include<string.h>
int main(void)
{
int a[10];
char i;
memset(a,2,sizeof(a));
for(i=0;i<10;i++)
printf(”%d ",a[i]);
putchar(’\n’);
return 0;
}
请观察一下计算器中对应的二进制值,memset函数是将每个字节都填充,所以如果设为2的话就会对每个字节都填充2,请用者小心注意
数组清空函数memset使用方法
最新推荐文章于 2023-09-07 17:14:39 发布