memset函数定义及其使用

1.memset函数的头文件及原型:

#include

void * memset ( void * ptr, int value, size_t num );

2.参数说明:

ptr:指向任意类型的指针,即指向我们需要修改的对象,譬如传进来一个数组首地址buff

value:赋给ptr所指对象的值

num:确定将ptr所指的对象中的num个字节全都用value代替

size_t:这是unsigned int类型

3.应用

(1)简单使用

    char buffer[] = "this is a string!";

    memset(buffer,'0',4);

    printf("%s",buffer);

输出结果:0000 is a string

解释:将buffer数组中的4个字节数的字符全都置为‘0’

(2)将数组清空

    char buffer[] = "this is a string!"

    memset(buffer,0,sizeof(buffer));

    printf("%s",buffer);

结果为空

这段代码的意思是:将buffer数组中的所有字节都置空

4.遗留问题

    int p = 23;

    int *q = p;

    memset(q,65,sizeof(int));

    printf("%d\n",p);

    printf("%c\n",p);

    结果:1794795585

               A

    为什么?

    


你可能感兴趣的:(编程函数)