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)

相关推荐
上单带刀不带妹1 分钟前
手写 Vue 中虚拟 DOM 到真实 DOM 的完整过程
开发语言·前端·javascript·vue.js·前端框架
-凌凌漆-41 分钟前
【Qt】QStringLiteral 介绍
开发语言·qt
程序员爱钓鱼41 分钟前
Go语言项目工程化 — 常见开发工具与 CI/CD 支持
开发语言·后端·golang·gin
军训猫猫头1 小时前
1.如何对多个控件进行高效的绑定 C#例子 WPF例子
开发语言·算法·c#·.net
真的想上岸啊2 小时前
学习C++、QT---18(C++ 记事本项目的stylesheet)
开发语言·c++·学习
明天好,会的2 小时前
跨平台ZeroMQ:在Rust中使用zmq库的完整指南
开发语言·后端·rust
丁劲犇2 小时前
用 Turbo Vision 2 为 Qt 6 控制台应用创建 TUI 字符 MainFrame
开发语言·c++·qt·tui·字符界面·curse
旷世奇才李先生3 小时前
Next.js 安装使用教程
开发语言·javascript·ecmascript
charlie1145141913 小时前
深入理解Qt的SetWindowsFlags函数
开发语言·c++·qt·原理分析