memset的简单使用

#include<stdio.h>
#include<string.h>
int main()
{
    char a[10];
    memset(a,'X',sizeof(a));
    for(int i=0;i<10;i++)
    {
        printf("%c ",a[i]);
    }
    return 0;
}

输出结果:

X X X X X X X X X X

也可以写成:

#include<stdio.h>
#include<string.h>
int main()
{
    char a[10];
    memset(a,'X',sizeof(char)*10);
    for(int i=0;i<10;i++)
    {
        printf("%c ",a[i]);
    }
    return 0;
}

作用:给数组里面的每一个位置赋一个确切的值。

注意:

#include<stdio.h>
#include<string.h>
int main()
{
    int a[10];
    memset(a,1,sizeof(a));
    for(int i=0;i<10;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

输出结果:

16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009

所以一般赋值的话,赋0

#include<stdio.h>
#include<string.h>
int main()
{
    int a[10];
    memset(a,0,sizeof(a));
    for(int i=0;i<10;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

输出结果:

0 0 0 0 0 0 0 0 0 0

上一篇:LINUX--综合程序设计


下一篇:结构体字节对齐和共用体大小