C语言——数组

1.数组的概念

数组是一组相同类型元素的集合;

数组中可以存放1个或多个元素,但数组元素个数不能为0。

同时数组可以分为一维数组和多维数组,多维数组一般常见 是二维数组。

2.一维数组的创建和初始化

一维数组的创建的基本语法:

type arr_name[常量值];

注:

type:数组元素的类型;

arr_name:数组的名称;

\]: 存放数组元素的个数 ![fd9c69bbb4814b0eb25ce5362bead29f.png](https://i-blog.csdnimg.cn/direct/fd9c69bbb4814b0eb25ce5362bead29f.png) 一维数组的初始化: ![084d5d7dbe114c1eb246b2afd27e1797.png](https://i-blog.csdnimg.cn/direct/084d5d7dbe114c1eb246b2afd27e1797.png) #### 3.一维数组的使用 1.数组下标 C语言规定数组是有下标的,下标从0开始,假设数组有n个元素,最后一个元素的下标是n-1,下标就相当于数组元素的编号,如下: ![6d77620c1a6f438dacf5968f9136a586.png](https://i-blog.csdnimg.cn/direct/6d77620c1a6f438dacf5968f9136a586.png) ![1e86fab6143049588a6d590b6dddbca7.png](https://i-blog.csdnimg.cn/direct/1e86fab6143049588a6d590b6dddbca7.png) 在C语⾔中数组的访问提供了⼀个操作符 \[\] ,这个操作符叫:下标引⽤操作符。 有了下标访问操作符,我们就可以轻松的访问到数组的元素了,⽐如我们访问下标为7的元素,我们就可以使⽤ arr\[7\] ,想要访问下标是3的元素,就可以使⽤ arr\[3\] ,如下代码: ![f358955af7a74e24b4bd8b20009f4642.png](https://i-blog.csdnimg.cn/direct/f358955af7a74e24b4bd8b20009f4642.png) 2.数组元素的输入和打印 只要我们产⽣数组所有元素的下标就可以了,那我们使⽤for循环产⽣0\~9的下标,接下来使⽤下 标访问就行了。 ![845a29dd00f44f1e8bd84283bd0478e6.png](https://i-blog.csdnimg.cn/direct/845a29dd00f44f1e8bd84283bd0478e6.png) #### 4.二维数组的创建 概念:数组的元素都是内置类型的,如果我们把⼀维数组做为数组的元素,这时候就是⼆维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组。 ![7c117896a1fc4bf387f29dacf8a5b9fb.jpeg](https://i-blog.csdnimg.cn/direct/7c117896a1fc4bf387f29dacf8a5b9fb.jpeg) type arr_name\[常量值1\]\[常量值2\]; 例如: int arr\[3\]\[5\]; double data\[2\]\[8\]; #### 5.二维数组的初始化 ![e0bc1671f3b844ac8202d62856bf26bb.png](https://i-blog.csdnimg.cn/direct/e0bc1671f3b844ac8202d62856bf26bb.png) ![bb104b90d3ae40f6b07e178967e3921e.png](https://i-blog.csdnimg.cn/direct/bb104b90d3ae40f6b07e178967e3921e.png) 注:初始化是可以省略行,但是不能省略列; #### 6.二维数组的使用 和一维数组同理运用下标,二维数组行的下标和列的下标都是从0开始的; ![8a2a23ff9fd6429ea1cc5e768164e244.png](https://i-blog.csdnimg.cn/direct/8a2a23ff9fd6429ea1cc5e768164e244.png) ![c3b70e186695417190cf8e95fc3a298e.png](https://i-blog.csdnimg.cn/direct/c3b70e186695417190cf8e95fc3a298e.png) 1.二维数组的输入和输出 ![8730732e771b493baf6427b764268bf4.png](https://i-blog.csdnimg.cn/direct/8730732e771b493baf6427b764268bf4.png) #### 7.小练习:二分查找 在⼀个升序的数组中查找指定的数字n,很容易想到的⽅法就是遍历数组,但是这种⽅法效率⽐较低。⽐如我买了⼀双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让你猜,你会怎么猜?你会1,2,3,4...这样猜吗?显然很慢;⼀般你都会猜中间数字,⽐如:150,然后看⼤了还是⼩了,这就是⼆分查找,也叫折半查找。 ![a93ad620bc0e4bb4bd8b390101bd61c2.png](https://i-blog.csdnimg.cn/direct/a93ad620bc0e4bb4bd8b390101bd61c2.png)

相关推荐
Boilermaker19921 分钟前
[Java 并发编程] Synchronized 锁升级
java·开发语言
MM_MS17 分钟前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
꧁Q༒ོγ꧂44 分钟前
LaTeX 语法入门指南
开发语言·latex
njsgcs1 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_991 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
古城小栈1 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust
ghie90901 小时前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab
恋爱绝缘体11 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wuk9981 小时前
VSC优化算法MATLAB实现
开发语言·算法·matlab
AI小怪兽2 小时前
基于YOLOv13的汽车零件分割系统(Python源码+数据集+Pyside6界面)
开发语言·python·yolo·无人机