memset()
用于初始化工作,常为新申请的内存进行初始化工作,直接操作内存空间。
函数原型:
#include<string.h> //要包含这个头文件
void *memset(void* s, int c, unsigned long n);
函数功能:将指针变量s
所指向的前n
个字节的内存单元用一个“整数”c
替换,可以为任何数据类型的数据进行初始化。常用于对数组或结构体进行清零初始化。
函数参数:
-
s
:void *
型的指针变量,可以为任何类型的数据进行初始化 -
c
:int
类型的变量,常为0
,为char
类型的数据初始化时,使用0
就相当于使用\0
初始化 -
n
:一般用sizeof()
获取
示例1:对一般数据类型初始化
#include<stdio.h>
#include<string.h>
int main(){
char str[5];
memset(str, 0, sizeof(str));
for(int i=0; i<10; i++){
printf("%d\t", str[i]);
}
return 0;
}
输出结果:5个0
0 0 0 0 0
示例2:对结构体初始化
先放这,等我去复习一下结构体