一.认识memset()函数:
1.定义:memset()是C语言中的库函数,用于将指定的内存块设置为指定的值。要在C语言代码中使用memset()函数,需要包含<string.h>或<memory.h>头文件。(memset翻译过来就是memory set内存设置)
2.作用:它通常对于数组,结构体或其他内存块进行初始化或清零操作(将某一块内存中的内容全部设定为指定的值,这个函数通常为新申请的内存做初始化工作)
3.优势:每种类型的变量都有各自初始化方法,memset()函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作,它可直接操作内存空间。
4.原型:
extern void *memset(void *ptr, int value, size_t num);
- ptr:为指针或是数组——指向要填充的内存块;
- value:是赋值给num的值——要被设置的值。该值以int形式传递,但是函数在填充内存块时是使用该值的无符号形式,一般情况下可以使用整数或字符值作为value;
- num:要设置的字节数(或元素个数)——通常使用sizeof()运算符来确定要设置的字节数或元素个数。
.
.
.
二.简单使用memset()函数:
1.将前三个字符改为' I ':
#include <stdio.h>
int main()
{
char arr[20] = "BLF & QSL";
memset(arr, 'I', 3);
printf("%s", arr);
return 0;
}
.
2.将' & '字符改为' I '字符
#include <stdio.h>
int main()
{
char arr[20] = "BLF & QSL";
memset(arr + 4, 'I', 1);
//要数清楚需要改动的位置,便可准确改动
printf("%s", arr);
return 0;
}
.
3.回顾strcpy()函数用法:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
char arr1[50] = "Love rises with the wind.";//爱意随风起
char arr2[50] = "It's hard to calm down.";//风止意难平
strcpy(arr1, arr2);
printf("%s\n", arr1);
memset(arr1 + 18, 'F', 1);
memset(arr1 + 19, 'e', 1);
memset(arr1 + 20, 'n', 1);
memset(arr1 + 21, 'g', 1);
printf("%s\n", arr1);
return 0;
}
.
.
.