在Linux下,使用memset函数需要包含头文件
void *memset(void *s, int c, size_t n);
这个函数接受三个参数:s为待填充的内存区域的首地址,c为要填充的值,n为要填充的字节数。函数的作用是将内存区域s的前n个字节用值c填充。
使用memset函数的一个典型例子是初始化一个数组。比如说我们有一个整型数组arr,我们想要将数组中的所有元素初始化为0,可以这样做:
#include
#include
int main() {
int arr[10];
memset(arr, 0, sizeof(arr));
for (int i = 0; i < 10; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
在这个例子中,我们首先声明了一个长度为10的整型数组arr。然后使用memset函数将arr中的所有元素初始化为0。接着我们遍历数组并将每个元素输出到屏幕。可以看到,数组中的所有元素都被成功初始化为0。
除了初始化数组,memset函数还可以用于清零一段内存区域。比如说我们有一个char型指针ptr,指向一段内存:
char *ptr = malloc(100);
// do something
// 现在我们想要清零这段内存
memset(ptr, 0, 100);
在这个例子中,我们首先通过malloc函数分配了一段大小为100字节的内存,并将指针ptr指向这段内存。然后我们使用memset函数将这段内存清零,使所有字节的值为0。
总的来说,在Linux下使用memset函数需要包含