memset函数:

#include <string.h>
void *memset( void *buffer, int ch, size_t count );

功能是:
拷贝 ch 到 buffer 从头开始的 count 个字符里,并返回buffer指针。 可以将一段内存初始化为某个值。
例如:memset( the_array, '\0', sizeof(the_array) );

有一点特别注意的是:memset按照字节初始化,就是说如果声明的数组是int arr[100];,每个元素都为int型,占4字节,但是memset仍会一个字节一个字节的赋值。

比如memset(arr,1,100);,1的十六进制是0x01,那么数组arr中的每个元素就变成了0x01010101。转化成十进制就是16843009。
不过赋值为0和-1这两个数并不受影响,因为0的十六进制是0x00,-1的十六进制是0xFF。这两个数在内存中不论用几个字节表示都是一样的(全0或全F)。

所以memset适合于char类型的数组。

fill函数:

如果需要在一个int或其他类型上的数组进行赋值,可以使用fill函数。头文件是#include<algorithm>
功能是:
将一个区间内所有元素都赋以val的值。可以有以下两种用法
fill(vec.begin(), vec.end(), val);
fill(arr,arr+n,val);
如果需要赋一个最大值,可以包含一个头文件:#include<climits>
然后使用fill(arr,arr+n,INT_MAX);

memset 和 fill 初始化数组相关推荐

  1. C++:用memset初始化数组

    1.初始化数组 定义完数组之后有三种初始化方式 int A[20]={0}; int A[20]; for(i=0;i<sizeof(A)/sizeof(A[0]);i++) A[i]=0; i ...

  2. c++使用memset初始化数组

    如果不明确指出初始化列表,那么基本类型是不会被初始化的(除全局变量和静态变量外),所有的内存都是"脏的":而类类型则会为每个元素调用默认构造函数进行初始化. 使用memset初始化 ...

  3. c/c++初始化数组的三种方法

    1直接赋值 int a[10]={0}; //数组里面的所有元素全都变为0 2 利用for循坏来初始化数组 int a[20]; for(int i=0:i<=sizeof(a);i++) {a ...

  4. java声明和初始化数组_Java 中初始化数组

    数组是一种有用的数据类型,用于管理在连续内存位置中建模最好的集合元素.下面是如何有效地使用它们. -- Chris Hermansen(作者) 有使用 C 或者 FORTRAN 语言编程经验的人会对数 ...

  5. C++接收字符串数组_Java 中初始化数组

    数组是一种有用的数据类型,用于管理在连续内存位置中建模最好的集合元素.下面是如何有效地使用它们. -- Chris Hermansen(作者) 有使用 C 或者 FORTRAN 语言编程经验的人会对数 ...

  6. 初始化 数组 java_如何用Java初始化数组

    初始化 数组 java Today we will learn how to initialize an array in java. An array in java is a container ...

  7. java数组初始化0_Java自学-数组 初始化数组

    Java 如何初始化数组 步骤 1 : 分配空间与赋值分步进行 public class HelloWorld { public static void main(String[] args) { i ...

  8. java初始化含十个数的数组_java初始化数组的方法

    java初始化数组的方法 发布时间:2020-06-28 09:55:26 来源:亿速云 阅读:87 作者:Leah 本篇文章为大家展示了java初始化数组的方法,代码简明扼要并且容易理解,绝对能使你 ...

  9. java 初始化数组_Java中数组的初始化

    一.什么是初始化 在Java程序开发中,使用数组之前都会对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用 ...

  10. Java动态初始化数组,元素默认值规则

    1.动态初始化数组: 定义数组的时候,只确定元素的类型和数组的长度,之后再存入具体数据. 2.动态初始化数组的基本原理: 当你赋值后,数组的默认值0,就会变成你赋的值. 3.数组的动态初始化格式: 格 ...

最新文章

  1. Java web speach api_Web Speech API - 语音文本转换的Web解决方案
  2. 建站需要mysql_你还在对建站数据不重视吗-Navicat for MySQL赶快上手使用吧
  3. Angular应用的router-outlet使用一个例子
  4. zabbix 自定义探索规则发现服务器上面的kvm虚拟机和对应的网卡
  5. 延迟初始化Spring Bean的几种方式
  6. BCD码干什么用的?
  7. 【GIS】GIS概念
  8. htc one m7刷Linux,htc one m7刷coloros系统教程
  9. 【Electron-vue】构建桌面应用(5)-Linux下打包安装程序deb文件
  10. python中的headers是什么意思_Python设置Headers
  11. 第一位程序员原来是一个女性!
  12. JS实现图片大小自适应且位置居中,防止图片变形
  13. 如何利用在线工具更改寸照底色
  14. pdps安装oracle12安装,PDPS安装使用过程问题点处理
  15. campaign 缩写_Campaign Monitor的画布:简化电子邮件设计
  16. Unity Shader-热空气扭曲效果(多种实现方案,包括移动平台)
  17. 不小心删了自己的注册表怎么办
  18. 新手初学Java List 接口
  19. 微信如何添加精准粉丝
  20. 第八届Nuist程序设计大赛 题解

热门文章

  1. COJ 0967 WZJ的数据结构(负三十三)
  2. 一种将排序值换算为得分值的方法
  3. alter table move
  4. 缓存/内存型数据库 Redis
  5. MySQL数据库(七)
  6. C++ 中缀表达式转后缀表达式(两种方式:栈、二叉树)
  7. 十二、K8s job cronjob相关操作
  8. [吴恩达机器学习笔记]16推荐系统5-6协同过滤算法/低秩矩阵分解/均值归一化
  9. 姚前:分布式账本与传统账本的异同及其现实意义
  10. 使用Html5+C#+微信 开发移动端游戏详细教程 :(二)准备工作开发环境