七、C数组的介绍

1、前言

        C语言中的数据类型包括基本数据类型和复合数据类型。前面介绍的整形、浮点型、字符型都是基本数据类型,而数组属于复合数据类型。

        基本数据类型是编程中最基础的数据类型,用于存储简单的数据值。复合数据类型则是由基本数据类型组合而成的数据类型,用于存储更复杂的数据结构。

2、数组的定义

(1)数组就是相同数据类型的多个数据放在一起。

(2)在C语言中要定义一个数组,需要指定元素的类型和元素的数量,如下所示:

// 数据类型  数组名[元素个数];
// type arrayName [ arraySize ]; int a[10];

(3)注意点:

  • 数据类型可以是任意有效的C数据类型。
  • 数组中的所有元素必须是同一种数据类型。
  • 元素个数不能为0,必须大于0的整数常量。

3、数组的初始化

(1)定义时初始化

int a[4] = {0, 5, 2, ,3};  

大括号 { } 之间的值的数目不能大于我们在数组定义时在方括号 [ ] 中指定的元素数目。如果你省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果:

int a[] = {0, 5, 2, ,3};  

您将创建一个数组,它与前一个实例中所创建的数组是完全相同的,元素个数为4个。

(2)每一个元素单独初始化

int a[4];  a[0] = 0;
a[1] = 5;
a[2] = 2;
a[3] = 3;

4、数组的访问

(1)数组定时的时候作为整体定义,但是在使用时不能不作为整体使用,需要拆开使用数组中的各个元素。

(2)譬如定义数组 int a [4]; ,使用其中的四个元素,分别是a[0]、a[1]、a[2]、a[3],其中[]是数组的标志,[]中的数字叫做数组下标(index,索引),下标是我们访问数组中各个元素的指引。

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

       

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/690555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# CAD-Xdata数据添加与修改

运行环境Visual Studio 2022 c# cad2016 一、XData(扩展数据)特定代码值 XData(扩展数据)特定代码值 XData通过一系列DXF组码(DxfCode)存储不同类型的数据,包括但不限于ASCII字符串、已注册应…

162基于matlab的多尺度和谱峭度算法对振动信号进行降噪处理

基于matlab的多尺度和谱峭度算法对振动信号进行降噪处理,选择信号峭度最大的频段进行滤波,输出多尺度谱峭度及降噪结果。程序已调通,可直接运行。 162 matlab 信号处理 多尺度谱峭度 (xiaohongshu.com)

用Windows桌面应用程序制作一个扫雷游戏

游戏介绍: 这段代码是一个简易版的扫雷游戏的主程序部分。游戏分为几个主要部分: **主函数 (main)**:负责整个游戏流程的控制。首先,它初始化了一个枚举类型的变量 input 用于存储玩家的选择。然后,进入一个循环,在这个循环中,它会显示游戏菜单,接收玩家的输入,并根…

考研英语单词28

Day 28 obscure a.模糊的,不清楚的【vague a.模糊的,不清楚的】 blur “不乐” n.模糊(的东西) v.变模糊 rough a.粗糙的,艰难的 readily ad.轻易地,乐意地 management n.经营,管理…

实时文字to图:SDXL Turbo 和 LCM-LoRA

参考文章: SDXL Turbo: Real-time Prompting - Stable Diffusion Art 根据目前的实际使用情况 sdxl-turbo 速度更快sdxl 有时候出的人脸会变形

mysql 2-1

添加数据 方式二 更新数据 删除数据 小结 计算列 数据类型 可选属性 适用场景 如何选择 浮点类型 存在精度问题 定点数介绍 BIT类型 日期与时间类型 YEAR类型 DATA类型 TIME类型 DATATIME TIMESTAMP 文本字符串类型 适用场景 TEXT类型

【ArcGIS Pro二次开发】(80):标注_CIMLabelClass

CIMLabelClass(Cartographic Information Model Label Class)是ArcGIS Pro SDK中的一个类。 它主要用于定义标签的样式和属性,如字体、大小、颜色、对齐方式等,以及标签的排列和布局规则。 1、获取当前地图的标签引擎 // 获取当…

基于Springboot的校园求职招聘系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园求职招聘系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

物联网芯片ESP8266 介绍

ESP8266是一款由Espressif Systems所开发的低成本的Wi-Fi微控制器芯片,它具有内置的TCP/IP网络协议栈,可以提供任何微控制器访问到Wi-Fi网络的能力。 主要特点: 价格优势: 相对于其它Wi-Fi芯片,ESP8266的价格较低,使得它非常适合…

Git基本操作(超详细)

文章目录 创建Git本地仓库配置Git配置命令查看是否配置成功重置配置 工作区、暂存区、版本库添加文件--场景一概述实例操作 查看.git文件添加文件--场景二修改文件版本回退撤销修改情况⼀:对于工作区的代码,还没有 add情况⼆:已经 add &#…

老卫带你学---分布式系统(1)

概念 分布式系统就是一组协作计算机系统,通过网络通信来完成一系列连贯任务 其特点在于 parallelism并行性,cpu等计算资源可以并行计算toleration fault容错性,即使有一台设备出现问题,也不会影响整个系统的功能physical isola…

解释 C++ 中的多态性,以及如何实现运行时多态性?

解释 C 中的多态性,以及如何实现运行时多态性? 在C中,多态性是指对象在不同情况下表现出不同的行为的能力。这意味着通过相同的接口可以调用不同类型的对象,并且会根据对象的实际类型来执行相应的操作。C中的多态性通过虚函数来实…

大白话说说redux

redux的3个重要概念 store 就是用来存放应用的各种状态的action 就是用来描述应用发生了什么动作的,注意理解他是对动作的描述reducer 就是用来处理应用的动作,并且决定怎么去更新应用存放在store里面的状态。 redux的3个原则 应用的所有状态存储为re…

Redis主从复制哨兵集群搭建解析

redis集群三种模式 redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster 主从复制:主从复制是高可用redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载…

BUGKU-WEB 源代码

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 你说啥就是啥&#xff1a;去源代码吧 相关工具 URL解码平台&#xff1a;https://www.iamwawa.cn/urldecode.html 解题步骤 随便输入试试 2. 看看源码 存在script&#xff1a; <script> …

幸运的数字

每日一道算法题之幸运数字 一、题目描述二、思路三、C代码 一、题目描述 题目来源&#xff1a;洛谷 如果把一个数字十进制表示的奇数位和偶数位分别相加得到的和相同&#xff0c;小小就认为它是一个幸运的数字。对于给定的 a 和 b&#xff0c;小小希望你求出 a,a1,a2,…,b 中幸…

Java学习--黑马SpringBoot3课程个人总结-2024-02-14

1.子路由 //定义路由关系 const routes[{ path: /login, component: LoginVue},{ path: /, component: LayoutVue,redirect:/article/manage,children:[{path:/article/category,component:ArticleCategoryVue},{path:/article/manage,component:ArticleManageVue},{path:/…

IO-day3

思维导图 1.使用fread和fwrite完成图片的拷贝。 2.使用read和write完成两个文件的拷贝。 3.将时间在文件中跑起来。

Mock.js

在开发后端的应用中&#xff0c;我们使用postman来测试接口&#xff0c;观察和验证前后端之间的数据传递是否正常。 在开发前端的应用中&#xff0c;我们使用Mock.js来模拟后端服务&#xff0c;以便进行前端业务逻辑的开发和测试&#xff08;以前使用json-server也很方便&#…

用jquery写插件基本步骤

编写jQuery插件的基本步骤通常包括以下几个部分&#xff1a; 1. **命名空间**&#xff1a;为了避免与其他库或插件冲突&#xff0c;通常会在插件中创建一个命名空间。 2. **闭包**&#xff1a;使用闭包来封装插件&#xff0c;这样可以避免全局变量的污染&#…