目录
一、memset函数
void *memset(void *s, int ch, size_t n);
函数解释:将s中当前位置后面的n个字节用 ch 替换并返回 s 。
参数:s,指针,要赋值的内存的起始地址。
ch,用于设置给内存块的值。
n,指定设置为ch值的字节数
作用:在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。
由函数解释可以知道,memset函数是对地址为s开始的n个字节的内存块进行赋值,而且是将这个n个字节的每个字节赋值为整数ch。这一点要注意,使用memset函数对内存块赋值是以字节为单位来赋值。
二、使用memset对char数组赋值
1、清零操作
使用memset函数对char类型的数组进行清零操作,该示例直接以代码展示:
#include <stdio.h>
#include <memory.h>
int main(int argc, char* argv[]){
int i;
char ArrCh[10] = {0};
memset(ArrCh, 0, sizeof(ArrCh));
printf("char type, assign zero value:\n");
for(i=0; i<sizeof(ArrCh); i++)
{
printf("0x%x, ", ArrCh[i]);
}
printf("\n");
return 0;
}
运行结果:
2、赋为非0值操作
使用memset函数对char类型的数组赋为非0值操作,该示例直接以代码展示:
#include <stdio.h>
#include <memory.h>
int main(int argc, char* argv[]){
int i;
char