了解 memset c

Understanding memset c

提问人:xTurtho 提问时间:5/14/2023 更新时间:5/14/2023 访问量:48

问:

我试图了解memset是如何工作的

这是我的实现:

void *ft_memset(void *s, int c, size_t n)
{
    size_t i;

    i = 0;
    while (i < n)
    {
        *((char *)(s + i)) = c;
        i++;
    }
    return (s);
}

为什么 memset 将 void 作为参数,因为它不适用于 ints,它的用途是否不止 char? 为什么强制转换为 char * 使它适用于每个案例场景?

强制转换 整数 实现 void memset

评论


答:

0赞 xTurtho 5/14/2023 #1

我做了一些研究。 似乎这个函数使用 void 来允许使用有符号的 char、unsigned 的 char 和 char。 因此,类型转换现在很有意义,因为编辑的值将是 char 类型。