C 数组

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如numbers,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来代表一个个单独的变量。数组中的特定元素可以通过索引访问。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。

声明数组

在 C 中要声明一个数组,需要指定元素的类型和元素的数量,如下所示:

type arrayName [ arraySize ];

这叫做一维数组。arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C 数据类型。例如,要声明一个类型为 double 的包含 10 个元素的数组 balance,声明语句如下:

double balance[10];

现在 balance 是一个可用的数组,可以容纳 10 个类型为 double 的数字。

初始化数组

在 C 中,您可以逐个初始化数组,也可以使用一个初始化语句,如下所示:

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。

如果您省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果:

double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

您将创建一个数组,它与前一个实例中所创建的数组是完全相同的。下面是一个为数组中某个元素赋值的实例:

balance[4] = 50.0;

上述的语句把数组中第五个元素的值赋为 50.0。所有的数组都是以 0 作为它们第一个元素的索引,也被称为基索引,数组的最后一个索引是数组的总大小减去 1。

访问数组元素

数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。例如:

double salary = balance[9];

上面的语句将把数组中第 10 个元素的值赋给 salary 变量。下面的实例使用了上述的三个概念,即,声明数组、数组赋值、访问数组:

实例

当上面的代码被编译和执行时,它会产生下列结果:

数组是C语言中至关重要的一个章节,很多的实例中都是需要数组的,所以这个章节需要详细的给大家讲解,我分几个课时帮助大家去更好的理解,一起进步加油, “作为一名从事了10年开发的老程序员,最近我花了一些时间整理关于C语言、C++,自己有做的材料的整合,一个完整的学习C语言、C++的路线,学习材料和工具。C/C++、编程爱好者的聚集地!欢迎初学和进阶中的小伙伴。希望你也能凭自己的努力,成为下一个优秀的程序员。工作需要、感兴趣、为了入行、转行需要学习C/C++的伙伴可以跟我一起学习!”

c++ 数组置0_0基础学习C语言第七章:数组(1)相关推荐

  1. 二维数组初始化_0基础学习C语言第七章:数组(2)

    C语言 多维数组 C 语言支持多维数组.多维数组声明的一般形式如下: type name[size1][size2]...[sizeN]; 例如,下面的声明创建了一个三维 5 . 10 . 4 整型数 ...

  2. c语言不允许对数组大小作动态定义,c语言第07章数组.ppt

    第七章,数组,问题:给一组数排序,这组 数该 如何存放呢,??? 这些数据如何存放才便于排序,,1,8,8,8,8,8,8,8,8,8,8,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ...

  3. 【从零基础学习C语言】指针与数组—第七篇

  4. c语言的boolean_0基础学习C语言第四章:三种基本结构

    1.C语言的三种基本结构 顺序结构:从头到尾一句接着一句的执行下来,直到执行完最后一句: 选择结构:到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行: 循环结构:循环结构有一个循环体, ...

  5. c语言位运算负数的实例_0基础学习C语言第三章:位运算

    C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移,相当与*2 >> 右移,正数高位补0,负数由计算机决定 循环左移k次 (x< ...

  6. 0基础学习C语言第十一章:文件读写

    今天我们将介绍 C 程序员如何创建.打开.关闭文本文件或二进制文件. 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理 ...

  7. 翁恺《零基础学习Java语言》作业答案 第1周到第7周

    翁恺<零基础学习Java语言>作业答案 第1周到第7周全部 文章目录 前言 一.第1周 计算 1.温度转换 二.第2周 判断 1.时间换算 2.信号报告 二.第3周 循环 1.奇偶个数 2 ...

  8. r语言pls分析_零基础学习R语言分析GEO

    关于零基础用R语言分析GEO的视频已更新完,发布在B站,有兴趣的小伙伴可以移驾到B站,我的B站号:I_am_Becky 之前录制过一系列关于零代码分析GEO数据的,但是这样画出来的图太low了,所以学 ...

  9. 零基础学习C语言如何入门(内附工具书推荐+视频教程)

    C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多.C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开发 ...

最新文章

  1. 娓娓道来!那些BERT模型压缩方法
  2. Java基础笔记-异常
  3. 如何定义一个有效的OWIN Startup Class
  4. JavaEE还是Spring? 都不行! 我们呼吁新的竞争者!
  5. 高达100亿美元!美国国防部将IBM和甲骨文双双踢出了云计算合同;华为任正非说了,华为对向苹果等对手出售5G芯片保持开放的态度...
  6. mysql表增加一行_数据库表增加一行数据
  7. 【论文写作】JSP旅游网如何写总体设计
  8. 开源文本编辑器Vim的作者Bram Moolenaar推出了新的编程语言Zimbu.doc
  9. Idea导出项目jar包
  10. 卫星星历和历书的区别
  11. 怎么对比两个excel文档的数据差异
  12. 值得学习17个C/C++ 超经典开源项目,面试加分
  13. 2021芒部中学高考成绩查询,2021年镇雄县高考状元名单资料,今年镇雄县高考状元多少分...
  14. idea报错 No valid Maven installation found.maven不能用
  15. 我与鸟哥 Yar 的亲密接触
  16. 【Matlab系列】Matlab信号添加噪声及信噪比SNR的计算
  17. 期末前端web大作业——动漫客栈响应式bootstarp(7页) 排版整洁,内容丰富,主题鲜明
  18. 达人评测 联想小新Pro16和小米笔记本Pro15选哪个好
  19. 如何计算对数收益率和净值化转换
  20. CSS揭秘——毛玻璃效果

热门文章

  1. 什么是“软件架构设计”(推荐)
  2. Apache Common常用jar包
  3. Dockerfile常见指令优化
  4. 大数据集群启停shell脚本:hadoop(hdfs、yarn)、hbase集群启停
  5. Linux RAID1和RAID5的区别
  6. loadrunner脚本设计:检查点(断言)及web_submit_data函数使用示例
  7. k8s 服务发现:通过CoreDNS域名访问service服务
  8. kafka与zookeeper版本对应关系表
  9. Rancher--Docker容器管理工具的安装与启动
  10. 【Java面试题视频讲解】十六进制转十进制