memset 和 fill 初始化数组
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 初始化数组相关推荐
- C++:用memset初始化数组
1.初始化数组 定义完数组之后有三种初始化方式 int A[20]={0}; int A[20]; for(i=0;i<sizeof(A)/sizeof(A[0]);i++) A[i]=0; i ...
- c++使用memset初始化数组
如果不明确指出初始化列表,那么基本类型是不会被初始化的(除全局变量和静态变量外),所有的内存都是"脏的":而类类型则会为每个元素调用默认构造函数进行初始化. 使用memset初始化 ...
- c/c++初始化数组的三种方法
1直接赋值 int a[10]={0}; //数组里面的所有元素全都变为0 2 利用for循坏来初始化数组 int a[20]; for(int i=0:i<=sizeof(a);i++) {a ...
- java声明和初始化数组_Java 中初始化数组
数组是一种有用的数据类型,用于管理在连续内存位置中建模最好的集合元素.下面是如何有效地使用它们. -- Chris Hermansen(作者) 有使用 C 或者 FORTRAN 语言编程经验的人会对数 ...
- C++接收字符串数组_Java 中初始化数组
数组是一种有用的数据类型,用于管理在连续内存位置中建模最好的集合元素.下面是如何有效地使用它们. -- Chris Hermansen(作者) 有使用 C 或者 FORTRAN 语言编程经验的人会对数 ...
- 初始化 数组 java_如何用Java初始化数组
初始化 数组 java Today we will learn how to initialize an array in java. An array in java is a container ...
- java数组初始化0_Java自学-数组 初始化数组
Java 如何初始化数组 步骤 1 : 分配空间与赋值分步进行 public class HelloWorld { public static void main(String[] args) { i ...
- java初始化含十个数的数组_java初始化数组的方法
java初始化数组的方法 发布时间:2020-06-28 09:55:26 来源:亿速云 阅读:87 作者:Leah 本篇文章为大家展示了java初始化数组的方法,代码简明扼要并且容易理解,绝对能使你 ...
- java 初始化数组_Java中数组的初始化
一.什么是初始化 在Java程序开发中,使用数组之前都会对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用 ...
- Java动态初始化数组,元素默认值规则
1.动态初始化数组: 定义数组的时候,只确定元素的类型和数组的长度,之后再存入具体数据. 2.动态初始化数组的基本原理: 当你赋值后,数组的默认值0,就会变成你赋的值. 3.数组的动态初始化格式: 格 ...
最新文章
- Java web speach api_Web Speech API - 语音文本转换的Web解决方案
- 建站需要mysql_你还在对建站数据不重视吗-Navicat for MySQL赶快上手使用吧
- Angular应用的router-outlet使用一个例子
- zabbix 自定义探索规则发现服务器上面的kvm虚拟机和对应的网卡
- 延迟初始化Spring Bean的几种方式
- BCD码干什么用的?
- 【GIS】GIS概念
- htc one m7刷Linux,htc one m7刷coloros系统教程
- 【Electron-vue】构建桌面应用(5)-Linux下打包安装程序deb文件
- python中的headers是什么意思_Python设置Headers
- 第一位程序员原来是一个女性!
- JS实现图片大小自适应且位置居中,防止图片变形
- 如何利用在线工具更改寸照底色
- pdps安装oracle12安装,PDPS安装使用过程问题点处理
- campaign 缩写_Campaign Monitor的画布:简化电子邮件设计
- Unity Shader-热空气扭曲效果(多种实现方案,包括移动平台)
- 不小心删了自己的注册表怎么办
- 新手初学Java List 接口
- 微信如何添加精准粉丝
- 第八届Nuist程序设计大赛 题解