news 2026/10/28 2:00:55

数组,一维数组,二维数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数组,一维数组,二维数组

1、数组的概念

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

数组中存放的是1个或者多个数据,但数组的元素个数不能为0

数组中存放的多个数据,类型是相同的

数组分为一维数组和多维数组,多维数组比较常见的是二维数组

2、一维数组的创建与初始化

2.1 数组创建

基本语法:

type arrr_name[常量值];

type 指定的是数组中存放数据的类项,可以是 : char、short、int、float等,也可以是自定义类型

arr_name 指的是数组的名字

[ ]中的常量值是用来指定数组的大小

2.2 数组的初始化

//完全初始化

int arr[5] = {1,2,3,4,5};

//不完全初始化

int arr2[6] = {1};//第一个元素初始化为1,其余默认初始化为0

//错误的初始化 - 初始化项太多

int arr[3] = {1,2,3,4};

2.3 数组的类型

int arr1[10];

int arr2[12];

char ch[5];

arr1 数组的类型是 int [10]

arr2 数组的类型是 int [12]

ch 数组的类型是 char [5]

3、一维数组的使用

3.1 数组下标

数组下标是从0开始的,假设数组有n个元素,最后一个元素的下标是n-1

4、一维数组在内存中的存储

数组在内存中是连续存放的,地址是由小到大变化的

5、二维数组的创建

5.1 二维数组的概念

如果把一维数组作为数组的元素,这时候就是二维数组

二维数组作为数组的元素的数组被称为三维数组,二维数组以上的数组统称为多维数组

5.2 二维数组的创建

type arr_name[常量值1][常量值2];

例如:

int arr [ 3 ] [ 5 ];

double data [ 2 ] [ 8 ];

3表示有三行

5表示每行有5个元素

int 表示数组的每个元素是整型类型

arr 是数组名

6、二维数组的初始化

6.1 不完全初始化

int arr1[3][5] = {1,2};

int arr2[3][5[ = {0};

6.2 完全初始化

int arr3[3][5] = {1,2,3,4,5, 6,7,8,9,0 ,1,3,4,5,6};

6.3 按照行初始化

int arr4[3][5] = {{1,2},{3,4},{5,6}};

6.4 初始化时能省略行,但不能省略列

int arr5[][5] = {1,2,3};

7、二维数组的使用

7.1 二维数组的下标

C语言规定,二维数组的行是从0开始的,列也是从0开始的

8、二维数组在内存中的存储

二位数组中的每个元素都是连续存放的

9、C99中的变长数组

C99中给一个变长数组的新特性,允许我们使用变量指定数组大小

int n = a + b;

int arr[n];

数组arr就是变长数组,因为它的长度取决于n的值

变长数组的根本特征,就是数组长度只有在运行时才能确定,所以变长数组不能初始化

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

代码漏洞检测-python+Flask

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于pythonFlask代码安全检测系统通过Mysql数据库连接数据库 http://127.0.0.1:510…

作者头像 李华
网站建设 2026/10/28 1:59:53

两三万字毕业长文怎么降AI:2027主流降AIGC工具比较与复核

两三万字毕业长文怎么降AI:2027主流降AIGC工具比较与复核【工具功能与核对要点】BunnyScholar:比较长文处理与术语保留情况,逐段核对学术论证、引用和原意。助研君:比较分段处理、输出质量与费用,修改后保留版本并人工…

作者头像 李华
网站建设 2026/10/28 1:59:50

一文搞懂QObject 和Q_OBJECT

QObject *parent nullptr 和 Q_OBJECT 宏是 Qt 框架中两个至关重要的机制,它们分别从对象生命周期管理和元编程能力两个维度,构成了 Qt 对象模型的基础。🌳 QObject *parent nullptr:对象树与内存管理这个参数的核心作用是建立 …

作者头像 李华
网站建设 2026/10/28 1:59:46

手机销量创十年新低,价格却屡创新高,怎么回事?

说起最近一段时间的手机市场,相信大多数人的感觉都是气氛压抑,一边是持续下滑的销量,另一边却是持续上涨的价格,面对着手机销量创十年新低,价格却屡创新高的情况,我们到底该怎么看?一、手机销量…

作者头像 李华
网站建设 2026/10/28 1:59:27

车载以太网断链故障注入怎么测?用USB API控制物理链路通断的实操方法

随着智能驾驶功能安全要求的持续升级,ISO 26262标准对车载ECU的容错机制验证提出了严苛的可复现性要求,车载以太网作为ADAS感知设备、自动驾驶域控的核心传输链路,链路异常工况的模拟已经成为HiL硬件在环测试、DV/PV可靠性验证、产线EOL校验环…

作者头像 李华
网站建设 2026/10/28 1:59:24

智能体“自主决策”的边界在哪里?从网信办《智能体实施意见》的决策权限条款,读懂“仅限本人—需授权—可自主”三级怎么落地

智能体“自主决策”的边界在哪里?从《智能体实施意见》的决策权限条款,读懂“仅限本人—需授权—可自主”三级怎么落地 一、为什么是“决策权限”这一条? 谈智能体风险的文章已经很多:越权、失控、提示注入、数据泄露……罗列清…

作者头像 李华