所需头文件:<string.h> 或 <memory.h>
函数原型:void *memset(void *s , int ch , size_t )
memset(结构体/数组名 , 用于替换的ASCII码对应字符 , 前n个字符 );
memset(结构体/数组名 , "用于替换的字符“ , 前n个字符 );
函数解释:将s中的前n个字节用ch替换并且返回s。
#include<iostream>
#include<cstring>
using namespace std;
int main(){
//一.当被初始化的数组为char型时
//1.ascll码型
char str1[100];
str1[100]='Q';
memset(str1,65,100);//这里默认就是ascll码了,不是数字
for(int i=0;i<101;i++){
cout<<str1[i]<<" ";
}
//2.直接字符型
char str2[100];
str1[100]='Q';
memset(str2,'A',100);
for(int i=0;i<101;i++){
cout<<str2[i]<<" ";
}
//数字型数组int类型(只能用0和-1来初始化)
int ints[100];
memset(ints,0,sizeof(ints)); //正确
memset(ints,-1,sizeof(ints)); //正确
memset(ints,1,sizeof(ints)); //错误,尽管可能在编译的时候不出错
//但是在实际初始化的时候时错的,会乱码
}
5628

被折叠的 条评论
为什么被折叠?



