c语言手写memset函数
时间: 2023-10-22 08:03:08 浏览: 96
详解C语言中的memset()函数
5星 · 资源好评率100%
当然,我可以帮你手写一个简单的memset函数。memset函数用于将一块内存区域设置为指定的值。
下面是一个使用C语言编写的示例:
```c
#include <stdio.h>
void *my_memset(void *ptr, int value, size_t num) {
unsigned char *p = ptr;
while (num-- > 0) {
*p++ = (unsigned char)value;
}
return ptr;
}
int main() {
char str = "Hello, World!";
printf("Before memset: %s\n", str);
my_memset(str, '-', 5);
printf("After memset: %s\n", str);
return 0;
}
```
上述代码中,我们定义了一个名为`my_memset`的函数。该函数接受三个参数:要设置的内存指针`ptr`,要设置的值`value`,以及要设置的字节数`num`。函数通过将指针逐个指向的内存位置赋值为指定值来实现。
在主函数中,我们声明了一个字符数组`str`并初始化为"Hello, World!"。我们调用了`my_memset`函数将数组中的前5个字符设置为'-',然后打印结果。
运行上述代码将输出:
```
Before memset: Hello, World!
After memset: ----- World!
```
这样,我们就手写了一个简单的memset函数。请注意,这只是一个基本的示例,并未进行任何错误检查或优化。实际使用时,你可能需要添加更多的功能来满足你的需求。希望对你有所帮助!如果你还有其他问题,请随时提问。
阅读全文