这个问题一直困扰了我很久,我向来都用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语言数组的所有元素初始化成相同的值的更多相关文章

  1. C语言数组的概念

    在<C语言数据输出大汇总以及轻量进阶>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <std ...

  2. php获取两个数组相同的元素(交集)以及比较两个数组中不同的元素(差集)

    (一)php获取两个数组相同元素 array  array_intersect(array  $array1, array $array2, [, array $...]) array  array_ ...

  3. C语言指针数组(每个元素都是指针)

    转载:http://c.biancheng.net/cpp/html/3246.html 注意:数组指针的区别 如果一个数组中的所有元素保存的都是指针,那么我们就称它为指针数组.指针数组的定义形式一般 ...

  4. C语言数组元素的查询

    在实际开发中,经常需要查询数组中的元素.例如,学校为每位同学分配了一个唯一的编号,现在有一个数组,保存了实验班所有同学的编号信息,如果有家长想知道他的孩子是否进入了实验班,只要提供孩子的编号就可以,如 ...

  5. c语言——数组指针和通过指针引用数组元素的方法总结

    1.数组指针:即指向数组的指针 那么, 如何声明一个数组指针呢?int (* p)[10]; /*括号是必须写的,不然就是指针数组:10是数组的大小*/1拓展:有指针类型元素的数组称为指针数组. 2. ...

  6. 不可或缺 Windows Native (5) - C 语言: 数组

    [源码下载] 不可或缺 Windows Native (5) - C 语言: 数组 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 数组 示例cArray.h #ifn ...

  7. c语言数组不同初始化方式的结果

    第一种初始化方式: #include <stdio.h> int main() { int numbers[5]={12,14}; for (int i=0; i<5; i++) { ...

  8. Go语言数组的使用

    Go 语言数组 Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0 ...

  9. 第四章 go语言 数组、切片和映射

    文章由作者马志国在博客园的原创,若转载请于明显处标记出处:http://www.cnblogs.com/mazg/ 数组是由同构的元素组成.结构体是由异构的元素组成.数据和结构体都是有固定内存大小的数 ...

随机推荐

  1. Android 自定义PopWindow完整代码

    1.布局文件的编写 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:and ...

  2. 在linux环境中配置solr

    第一步:安装linux.jdk.tomcat. 第二步:把solr的压缩包上传到服务器.并解压.我的solr压缩包是解压在/usr/local/solr/包下的 系统默认是没有solr包的需要自己创建 ...

  3. Day3-A-Problem H. Monster Hunter HDU6326

    Little Q is fighting against scary monsters in the game ``Monster Hunter''. The battlefield consists ...

  4. Linux 命令 - mknod

    mknod 创建块设备或者字符设备文件.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mknod [选项] 设备名 设备类 ...

  5. Bug的等级及定位

    缺陷等级一般划分为四个等级:致命.严重.一般.低 一.致命(一级bug) 通常表现为:系统无法运行,崩溃或严重资源不足,应用模块无法启动或者异常退出,主要功能模块无法使用. 比如: 1.系统崩溃(蓝屏 ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:内嵌下拉菜单的按钮组

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 2-10 就业课(2.0)-oozie:11、hadoop的federation(联邦机制,了解一下)

    ==================================================== Hadoop Federation 背景概述 单NameNode的架构使得HDFS在集群扩展性 ...

  8. 第1节 IMPALA:10、基本查询语法;11、数据加载的4种方式

    9.3. 创建数据库表 创建student表 CREATE TABLE IF NOT EXISTS mydb1.student (name STRING, age INT, contact INT ) ...

  9. CF97B Superset超级集合

    CF97B Superset 这题主要是构造难想.看看数据范围发现连\(O(n^2)\)都被卡了,然后 考试的名称提醒我 想到了分治. 坐标按横坐标为关键字排序后找中间的点进行分治不是点分治qwq. ...

  10. ROM与RAM

    今天小姐姐来问我关于ROM.RAM和Flash的区别,我给她大致的说了一下名称和作用.可人家说她知道这玩意的名字,希望我能够接地气的解释一下什么是ROM.RAM.FLASH…… 这就把我难住了 ≧ ﹏ ...