c语言memset的用法给个具体例子
memset函数用于将一段内存空间中的每个字节都设为指定的值。其函数原型为:
void *memset(void *s, int c, size_t n);
其中,s是要进行设置的内存空间的首地址;c是要设置的值,通常是一个整数(unsigned char类型),但是可以是任何整数类型的值;n是要设置的字节数。
下面是一个具体的例子,将一个整型数组中的所有元素都设置为0:
#include <stdio.h>
#include <string.h>
int main() {
int arr[5] = {1, 2, 3, 4, 5};
memset(arr, 0, sizeof(arr));
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
return 0;
}
输出结果为:
0 0 0 0 0
在该例中,我们使用了memset函数将数组arr中的所有元素都设置为0。由于arr是一个整型数组,所以我们需要将要设置的值c转换为unsigned char类型。由于数组arr中一共有5个元素,每个元素占用4个字节(因为int类型在大多数机器上占用4个字节),所以要设置的字节数为5 * 4 = 20。因此,我们调用memset函数时,将n的值设为20
原文地址: https://www.cveoy.top/t/topic/e5cU 著作权归作者所有。请勿转载和采集!