前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >memset()函数的使用

memset()函数的使用

作者头像
用户4645519
修改2020-09-08 10:02:40
3K0
修改2020-09-08 10:02:40
举报

1、概述

memset()函数,称为按字节赋值函数,使用时需要加头文件 #include<cstring>或者#include<string.h>。通常有两个用法:

(1)用来给整形数组整体赋值为0或者-1;

(2)给字符数组整体赋值

2、整形数组整体赋值

整形数组整体赋值为0或-1:

#include <iosream>
#include <cstring>
using namespace std;
int main()
{
    int a[10];
    memset(a,0,sizeof(a));  
    //赋值为-1: memset(a,-1,sizeof(a));
    return 0;
}

当然赋值为0也可以使用更加简易的写法:

#include <iostream>
using namespace std;
int main()
{ 
   //其本质是将 0赋值给a[0],其余元素自动填充为0 
   int a[10]={0};   
   return 0;
}

注意:memset()是按字节赋值,整形数是占4个字节,因而memset()函数只能用来赋值为0和-1,赋值别的值会出错。如果想要整体赋值为除0和-1外的其他值,则需要使用fill函数,这个后面再介绍。

3、字符型数组整体赋值

因为字符型变量刚好是占用一个字节,所以我们就可以memset()函数给一个字符数组整体赋值为某一个字符。例如:给一个一维字符数组整体赋值为 “空字符”,参考代码如下:

#include <iostream>
using namespace std;
int main()
{
    char a[10];
    memset(a,0,sizeof(a));//空字符的ASCII码为0
    return 0;
}

当然,你要整体赋值为其他任何字符,直接在memset()函数的第二个参数中填写即可。二维数组操作同理:

#include <iostream>
using namespace std;
int main()
{
    char a[10][10];
    //二维数组中100个字符全部被赋值为‘A’字符
    memset(a,'A',sizeof(a));
    return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、概述
  • 2、整形数组整体赋值
  • 3、字符型数组整体赋值
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档