C语言数组的所有元素初始化成相同的值
这个问题一直困扰了我很久,我向来都用for来控制置-1;因为我不会用memset(つ﹏⊂)我是个蒟蒻。今天终于学会了一点皮毛,赶紧记录一下
方法一:
简单粗暴,快捷有效。for循环一点点的置1,这个方法一直有效,没有限制条件,除非你不知道大小。
方法二:
建立数组的时候同时完成初始化,如果是静态创建数组那么只能将数组初始化为0;
] = {};
如果是动态创建数组的化就可以用stdlib里的calloc进行内存的动态分配 ,开辟空间后默认置0,
不过方法二只能置0。
方法三:
用string里的memset函数来处理,但由于其是对每一个字节赋值的所以拥有四个字节的int,只能past,但是因为按字节赋值对0和-1没有影响所以可以用来置0或-1;
为什么0和-1可以呢,因为-1的BCD码为32个1,0呢则为32个0,所以截取成虽然是按字节存写的但是int读取时都是相同的值所以无所谓了。
1就别想,它的BCD码是31个0一个1……这个误差,能飞到天上去。
memset(arr, (-), sizeof(arr));
大概就是酱紫,(因为只会这些,只能写道这里了)
学习不易,诸君共勉!
C语言数组的所有元素初始化成相同的值的更多相关文章
- C语言数组的概念
在<C语言数据输出大汇总以及轻量进阶>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <std ...
- php获取两个数组相同的元素(交集)以及比较两个数组中不同的元素(差集)
(一)php获取两个数组相同元素 array array_intersect(array $array1, array $array2, [, array $...]) array array_ ...
- C语言指针数组(每个元素都是指针)
转载:http://c.biancheng.net/cpp/html/3246.html 注意:数组指针的区别 如果一个数组中的所有元素保存的都是指针,那么我们就称它为指针数组.指针数组的定义形式一般 ...
- C语言数组元素的查询
在实际开发中,经常需要查询数组中的元素.例如,学校为每位同学分配了一个唯一的编号,现在有一个数组,保存了实验班所有同学的编号信息,如果有家长想知道他的孩子是否进入了实验班,只要提供孩子的编号就可以,如 ...
- c语言——数组指针和通过指针引用数组元素的方法总结
1.数组指针:即指向数组的指针 那么, 如何声明一个数组指针呢?int (* p)[10]; /*括号是必须写的,不然就是指针数组:10是数组的大小*/1拓展:有指针类型元素的数组称为指针数组. 2. ...
- 不可或缺 Windows Native (5) - C 语言: 数组
[源码下载] 不可或缺 Windows Native (5) - C 语言: 数组 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 数组 示例cArray.h #ifn ...
- c语言数组不同初始化方式的结果
第一种初始化方式: #include <stdio.h> int main() { int numbers[5]={12,14}; for (int i=0; i<5; i++) { ...
- Go语言数组的使用
Go 语言数组 Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0 ...
- 第四章 go语言 数组、切片和映射
文章由作者马志国在博客园的原创,若转载请于明显处标记出处:http://www.cnblogs.com/mazg/ 数组是由同构的元素组成.结构体是由异构的元素组成.数据和结构体都是有固定内存大小的数 ...
随机推荐
- Android 自定义PopWindow完整代码
1.布局文件的编写 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:and ...
- 在linux环境中配置solr
第一步:安装linux.jdk.tomcat. 第二步:把solr的压缩包上传到服务器.并解压.我的solr压缩包是解压在/usr/local/solr/包下的 系统默认是没有solr包的需要自己创建 ...
- Day3-A-Problem H. Monster Hunter HDU6326
Little Q is fighting against scary monsters in the game ``Monster Hunter''. The battlefield consists ...
- Linux 命令 - mknod
mknod 创建块设备或者字符设备文件.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mknod [选项] 设备名 设备类 ...
- Bug的等级及定位
缺陷等级一般划分为四个等级:致命.严重.一般.低 一.致命(一级bug) 通常表现为:系统无法运行,崩溃或严重资源不足,应用模块无法启动或者异常退出,主要功能模块无法使用. 比如: 1.系统崩溃(蓝屏 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:内嵌下拉菜单的按钮组
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 2-10 就业课(2.0)-oozie:11、hadoop的federation(联邦机制,了解一下)
==================================================== Hadoop Federation 背景概述 单NameNode的架构使得HDFS在集群扩展性 ...
- 第1节 IMPALA:10、基本查询语法;11、数据加载的4种方式
9.3. 创建数据库表 创建student表 CREATE TABLE IF NOT EXISTS mydb1.student (name STRING, age INT, contact INT ) ...
- CF97B Superset超级集合
CF97B Superset 这题主要是构造难想.看看数据范围发现连\(O(n^2)\)都被卡了,然后 考试的名称提醒我 想到了分治. 坐标按横坐标为关键字排序后找中间的点进行分治不是点分治qwq. ...
- ROM与RAM
今天小姐姐来问我关于ROM.RAM和Flash的区别,我给她大致的说了一下名称和作用.可人家说她知道这玩意的名字,希望我能够接地气的解释一下什么是ROM.RAM.FLASH…… 这就把我难住了 ≧ ﹏ ...