news 2026/6/7 21:51:38

知识点总结:四:数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
知识点总结:四:数组

1_数组的概念

数组是⼀组相同类型元素的集合,由此可知数组的元素数量要比0大,且都是相同的类型。

数组相当于在栈区申请一块连续的、大的(相较于其中的一个元素)内存空间,依照定义的数组的类型将这一块内存进行定义

1_一维数组的创建

一维数组的创建简单包括:

数组类型,自定义数组名,常量描述的元素数量

数组的初始化

数组的类型

数组也是有类型的,数组算是⼀种自定义类型,去掉数组名留下的就是数组的类型

例如

int [10] int [12] char [5] 就代表了数组的类型

3_数组的使用

上面是数组的元素,下面是它们对应的下标

“ [ ] ”是下标引用操作符,可以引用出数组中的元素

有了下标访问操作符,我们就可以轻松的访问到数组的元素了,比如我们访问下标为7的元素,我们就可以使用arr[7] ,想要访问下标是3的元素,就可以使用arr[3] ,如下代码

如果想要访问整个数组

使用for循环产生0~9的下标,用下标引用操作符操作数组每个元素的下标

for (int i = 0;i<10;i++)

{

printf("%d ", arr[i]);

}

//简易描述一下

给数组中的元素赋值也是一样的

4_数组在内存中的存储

从结果可以看出,数组中的每个元素是紧密相连在一起的,依次向高地址递增

5_计算数组元素数

像上图这样可以计算出整个数组的大小

之后再计算单个元素的大小

相除之后就可以得到数组的元素数量

6_二维数组

二维数组相当于把一维数组作为数组的元素,更高维数组同理

二维数组创建时可以省略行不能省略列,例如type arr_name[][n]; n就是不能省略的

二维数组的内存是低内存到高内存连续的,并不是为了便于理解而画图化成的具有长和宽的长方形

初始化

初始化可以不完全初始化,也可以利用大括号按照自己的想法初始化

比如 int [3][3] {{1}{}{2}}就是跳过了中间一行元素的初始化和第一行第二行的第二第三个元素的初始化

ps:如果想要跳过一行中中间或者开头的某个元素进行初始化,只有利用了C99的指定初始化器才能达到(或者自己从内存上进行操作)

二维数组的使用

引用或者初始化二维数组的原理和一维数组类似

先找到对应的行,再找到对应的列

如:arr[height][width]

同样利用循环可以访问整个二维数组

7_C99中的变长数组

变长数组并非指可以中途修改数组的大小,而是指可以用变量定义数组的大小

#include <stdio.h> int main() { int n = 0; scanf("%d", &n);//根据输入数值确定数组的大小 int arr[n]; int i = 0; for (i = 0; i < n; i++) { scanf("%d", &arr[i]); } for (i = 0; i < n; i++) { printf("%d ", arr[i]); } return 0; }

但是vs2022没有实现C99中的变长数组,所以上图是在gcc编译器下实现的

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 17:01:18

35岁大龄程序员破局指南:突破“中年危机”魔咒,开启职业第二春!

“35岁危机”曾是悬在程序员头顶的达摩克利斯之剑&#xff0c;但在技术快速迭代的今天&#xff0c;这条年龄线甚至被提前到了30岁。根据某一线互联网公司内部数据&#xff0c;35岁以上程序员主动离职率比30岁以下高出40% &#xff0c;而再就业周期平均延长3-6个月。 这不仅是年…

作者头像 李华
网站建设 2026/6/3 14:00:51

5.3 LlamaFactory 微调实战:微调 Qwen DeepSeek 模型

LlamaFactory 微调实战:微调 Qwen/DeepSeek 模型 导语:理论的尽头是实践。我们已经理解了 LoRA 的原理,并学会了如何“指挥”GPT-4 为我们生产高质量的微调数据。现在,万事俱备,只欠“开炉炼丹”。本章将是一次纯粹的、从头到尾的动手实战。我们将使用 LlamaFactory,一个…

作者头像 李华
网站建设 2026/6/7 9:22:22

5.8 垂直领域 Agent 的未来:探索模型微调在金融、法律等行业的应用

5.8 垂直领域 Agent 的未来:探索模型微调在金融、法律等行业的应用 导语:在本课程的最后一章,让我们将目光从具体的代码和技术细节中抬起,投向更广阔的星辰大海。我们已经通过“AI 皮肤科医生”项目,亲眼见证了模型微调如何将一个通用模型“点化”为垂直领域的专家。然而,…

作者头像 李华
网站建设 2026/5/28 19:38:40

【干货】具身智能技术路线全解:大模型如何走进物理世界,一文掌握核心技术!

简介 具身智能作为AI连接物理世界的关键途径&#xff0c;主要有分层决策与端到端两种技术架构&#xff0c;以及模仿学习与强化学习两种训练方法。各路线各有优劣&#xff0c;数据获取是具身智能发展的核心。商业化路径包括通用技术、纯软件和垂直领域三大方向。未来具身智能将向…

作者头像 李华
网站建设 2026/6/2 9:02:09

从机器学习理论到动手实战教程!(附学习资料)

很多学习机器学习和深度学习的同学&#xff0c;follow的学习教程往往理论和实践是分开的&#xff0c;这就容易导致学习了相关理论但是不知道如何应用的问题学习机器学习深度学习的过程中&#xff0c;理论的重要性不用过多强调&#xff0c;其次在实战中处理数据&#xff0c;搭建…

作者头像 李华
网站建设 2026/6/7 2:33:30

海南封关,到底“一线”如何放,“二线”又如何管?

“一线”指的是海南自贸港和我国关境外的其他国家和地区之间&#xff0c;“二线”指的是海南自贸港和内地之间。 海南自贸港封关的核心就是“一线”放开&#xff0c;“二线”管住&#xff0c;岛内自由。 “一线”放开放什么呢&#xff1f; 6600多种货物可以免关税进入海南岛…

作者头像 李华