memset()函数与bzero()函数的区别

    xiaoxiao2021-08-16  127

    函数格式 void *memset(void *s, int ch, size_t n)

     函数解释:将s中前n个字节替换为ch并返回s;用来在在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。

    函数格式void bzerovoid *s, int n;

    函数解释s 要置零的数据的起始地址; n 要置零的数据字节个数用来置字节字符串s的前n个字节为零且包括‘\0’且无返回值。

    #include <stdio.h>

     

    #define MAX_SIZE 1024

     

    int main()

    {

        char src[MAX_SIZE];

        char *temp = src;

     

        printf("please input a string\n");

        gets(src);

            

        printf("%s\n",src);

        printf("memset\n");

        memset(temp,'1',sizeof (char)*4);

        

        printf("%s\n",src);

        

        printf("bzero\n");

        bzero(src,sizeof(src));

        

        printf("%s\n",src);

     

        return 0;

    }

     

    输出为

    [root@localhost 1117]# ./a.out

    please input a string

    hello world !

    hello world !

    memset

    1111o world !

    bzero

     

    [root@localhost 1117]#

    转载请注明原文地址: https://ju.6miu.com/read-676472.html

    最新回复(0)