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)

相关推荐
deephub2 分钟前
ONNX Runtime Python 推理性能优化:8 个低延迟工程实践
开发语言·人工智能·python·神经网络·性能优化·onnx
蕨蕨学AI2 分钟前
【Wolfram语言】22 机器学习
开发语言·wolfram
百***78753 分钟前
LLaMA 4 API国内稳定接入指南:中转服务全链路实操与优化方案
开发语言·php·llama
Matlab仿真实验室5 分钟前
基于Matlab实现歌曲人声消除仿真
开发语言·matlab
郑州光合科技余经理1 小时前
PHP构建:支撑欧美澳市场的同城生活服务平台开发
java·开发语言·数据库·uni-app·php·排序算法·生活
小浣熊熊熊熊熊熊熊丶8 小时前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
啃火龙果的兔子9 小时前
JDK 安装配置
java·开发语言
星哥说事9 小时前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
等....9 小时前
Miniconda使用
开发语言·python
zfj3219 小时前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang