C语言 memset
C语言 memset
#include <string.h> void *memset(void *s, int c, size_t n);
功能:将s的内存区域的前n个字节以参数c填入
参数:
- s:需要操作内存s的首地址
- c:填充的字符,c虽然参数为int,但必须是unsigned char , 范围为0~255
- n:指定需要设置的大小
返回值:s的首地址
案例
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> int main(void) { int* p = (int*)malloc(sizeof(int) * 10); // memset() 重置内存空间的值 // 可重置、变量值、堆空间、栈空间 // 类似于初始化堆内存空间 将乱码重置为0 // memset(指针, 重置值, 字节); memset(p, 0, 10); // 通过循环初始化堆空间 for (int i = 0; i < 10; i++) { // 打印乱码、乱码 printf("%d\n", p[i]); } free(p); return 0; }