于纵横交错的矩阵间:二维数组与多维数据的默契和鸣

在这里插入图片描述

大家好啊,我是小象٩(๑òωó๑)۶
我的博客:Xiao Xiangζั͡ޓއއ

很高兴见到大家,希望能够和大家一起交流学习,共同进步。*

在这里插入图片描述
接着上节课的内容,这一节我们来学习二维数组,学习二维数组的概念和创建,明白二维数组的初始化,学会不完全初始化,完全初始化,按照行初始化的形式,熟悉二维数组的使用,学习其中二维数组的下标和输入输出的知识,最后了解二维数组的存储…

文章目录

  • 开篇
  • 一、二维数组的创建
    • 1.1 二维数组的概念
    • 1.2 二维数组的创建
  • 二、二维数组的初始化
    • 2.1 不完全初始化
    • 2.2 完全初始化
    • 2.3 按照行初始化
    • 2.4 初始化时省略行,但不能省略列
  • 三、二维数组的使用
  • 3.1 二维数组的下标
    • 3.2 二维数组的输入和输出
  • 四、二维数组在内存中的存储
  • 五、C99中的变长数组
  • 两个数组小练习
  • 五、结尾

开篇

上节课我们给大家分享了一维数组的创建、初始化,使用等等内容,这节课我们继续来学习二维数组

一、二维数组的创建

1.1 二维数组的概念

在C语言中,二维数组是一个数组,其元素本身也是数组。这种结构通常用于表示矩阵或表格数据。二维数组可以看作是一个表格,其中每个元素都位于特定的行和列上
前面学习的数组被称为⼀维数组,数组的元素都是内置类型的,如果我们把**一维数组做为数组的元素,这时候就是二维数组,二维数组作为数组元素的数组被称为三维数组,二维数组以上的数组统称为多维数组**。
在这里插入图片描述

1.2 二维数组的创建

我们先来看看二维数组的语法形式:

type arr_name[常量值1][常量值2];
例如:
int arr[3][5];
double data[2][8];

解释:上述代码中出现的信息

• 3表示数组有3行
• 5表示每一行有5个元素
• int 表示数组的每个元素是整型类型
• arr 是数组名,可以根据自己的需要指定名字

data数组意思基本一致。

二、二维数组的初始化

在创建变量或者数组的时候,给定一些初始值,被称为初始化。
在C语言中,二维数组的初始化是指在数组声明时为其元素赋予初始值的过程二维数组是一个数组的数组,因此其初始化涉及到为每一行(即内层数组)的元素指定初始值。
那二维数组如何初始化呢?像一维数组一样,也是使用大括号初始化的
下面我们来看三种初始化方式:

2.1 不完全初始化

举个例子:

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

在这里插入图片描述

2.2 完全初始化

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

在这里插入图片描述

2.3 按照行初始化

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

在这里插入图片描述
PS:二维数组完全可以理解为是若干个一维数组组合而成,所以我们可以在外面的大括号里面对其中的元素添加小括号,就像上面的一样,小括号可以理解为一个个一维数组。

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

如果省略列的话,一行几个数字不能够确定了

//初始化时省略行,但不能省略列
int arr5[

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90324.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SHA-3算法详解

SHA-3(Secure Hash Algorithm 3)是美国国家标准与技术研究院(NIST)于 2015 年发布的新一代密码哈希算法标准,其核心基于比利时密码学家团队设计的Keccak 算法。SHA-3 的诞生旨在应对 SHA-1 和 SHA-2 系列算法可能面临的…

前端笔记:同源策略、跨域问题

只有前端才会有跨域问题后端不受限制 一、什么是“同源策略”(Same-Origin Policy) ✅ 定义: 浏览器的 同源策略 是一种 安全机制,限制一个源的 JavaScript 访问另一个源的资源,以防止恶意网站窃取用户敏感信息。 ✅ “…

java通过com进行pdf转换docx丢失

使用,通过com调用,发现pdf转换成docx后,没有看到docx输出到指定目录。直接说解决方案:关闭的保护模式即可,打开工具,编辑->首选项 找到安全性(增强),关闭启动时启用保护模式关闭后,docx正常输…

SQL基础⑫ | 视图篇

0 序言 本文将系统讲解数据库中视图的相关知识,包括视图的定义、作用、创建(单表、多表、基于视图创建)、查看、更新、修改与删除操作,以及视图的优缺点。 通过学习,你能够掌握视图的基本概念,理解何时及如…

移动云×华为昇腾:“大EP+PD分离”架构实现单卡吞吐量跨越式提升!

在面向下一代AI基础设施的关键技术攻关中,移动云与华为昇腾计算团队深度协同,实现了大模型推理引擎的架构级突破。双方基于昇腾AI基础软硬件平台,针对DeepSeek大模型完成了大规模专家并行(Expert Parallelism,简称“大…

配电自动化终端中电源模块的设计

配电自动化终端中电源模块的设计 引言 配电终端设备的可靠性和自动化程度,直接影响到整个配电自动化系统的可靠性和自动化水平。由于配电终端设备一般安装于户外或比较偏僻的地方,不可能有直流电源提供,因此,配电网终端设备的直流供电方式成为各配网自动化改造中必须要研究…

性能测试-groovy语言1

课程:B站大学 记录软件测试-性能测试学习历程、掌握前端性能测试、后端性能测试、服务端性能测试的你才是一个专业的软件测试工程师 Jmeter之Groovy语言Groovy简介为何性能测试中选择Groovywindows下载Groovy进入官网配置环境变量Groovy的数据类型groovy的保留字字符…

天邑TY1613_S905L3SB_安卓9-高安非-高安版-通刷-TTL线刷固件包

天邑TY1613_S905L3SB_安卓9-高安非-高安版-通刷-TTL线刷固件包刷机说明:本固件为TTL刷机方式,需要准备如下工具;电烙铁TTL线刷机优盘TTL接触点位于处理器左侧,从上往下数第二脚GND、3TXD、4RXD跑码工具-【工具大全】-putty跑码工具…

【硬件-笔试面试题】硬件/电子工程师,笔试面试题-7,(知识点:晶体管放大倍数计算)

目录 1、题目 2、解答 3、相关知识点 晶体管的电流分配关系 直流电流放大系数\(\overline{\beta}\) 交流电流放大系数\(\beta\) 晶体管的放大条件 总结 【硬件-笔试面试题】硬件/电子工程师,笔试面试题汇总版,持续更新学习,加油&…

力扣-152.乘积最大子数组

题目链接 152.乘积最大子数组 class Solution {public int maxProduct(int[] nums) {int[] dpMax new int[nums.length]; //包括nums[i]的乘积最大值int[] dpMin new int[nums.length]; //包括nums[i]的乘积最小值int res nums[0];dpMax[0] nums[0];dpMin[0] nums[0];fo…

HTTP/1.0、HTTP/1.1 和 HTTP/2.0 主要区别

一句话总结 HTTP/1.0: 短连接,每次请求都需要建立一个新的 TCP 连接,性能较差。HTTP/1.1: 长连接,默认开启 Keep-Alive,连接可复用,解决了 1.0 的大部分问题,是目前使用最广泛的版本。HTTP/2.0: 二进制、多…

Navicat 17.3 正式发布 | 现已支持达梦、金仓和 IvorySQL 数据库

🚀🚀🚀 Navicat 很高兴地宣布:Navicat 17.3 版本正式发布。此次更新包含多项突破性功能,包括新增对达梦、金仓和 IvorySQL 等数据库的支持,全面强化 AI 功能并新增阿里通义千问等 AI 大模型,同…

前端性能新纪元:Rust + WebAssembly 如何在浏览器中实现10倍性能提升(以视频处理为例)

前端性能新纪元:Rust WebAssembly 如何在浏览器中实现10倍性能提升(以视频处理为例) JavaScript,作为 Web 开发的基石,是动态的、灵活的,但在性能上,它也存在着天生的“软肋”。对于那些计算密…

Web前端:JavaScript find()函数内判断

🎯 find是什么?find() 是 JavaScript 数组(Array)提供的一个内置方法,用于在数组中查找第一个满足条件的元素。简单来说:它像侦探一样遍历数组,找到第一个符合条件的成员就返回它。⚙️ 核心作用…

MySQL详解三

MySQL详解三事务ACID特性原子性一致性隔离性持久性事务的隔离级别读未提交(Read Uncommitted)读已提交(Read Committed)可重复读(Repeatable Read)串行化(serializable)MVCC聚集索引的隐藏列read view锁全局…

ABQ-LLM:用于大语言模型的任意比特量化推理加速

温馨提示: 本篇文章已同步至"AI专题精讲" ABQ-LLM:用于大语言模型的任意比特量化推理加速 摘要 大语言模型(LLMs)在自然语言处理任务中取得了革命性的进展。然而,其实际应用受到巨大的内存与计算开销的限制…

kafka的shell操作

Kafka 提供了丰富的 shell 命令工具,位于 Kafka 安装目录的 bin/ 目录下(Windows 系统为 bin/windows/)。这些命令用于管理主题、生产者、消费者、分区等核心组件。以下是常用的 Kafka shell 操作大全:一、主题(Topic&…

client-go: k8s选主

快速上手 下面这个代码就是一个选主的大概逻辑 package mainimport ("context""flag""fmt"_ "net/http/pprof""os""path/filepath""time""golang.org/x/exp/rand"v1 "k8s.io/api/core/v…

为什么Java的String不可变?

为什么Java的String不可变? 场景: 你在开发多线程用户系统时,发现用户密码作为String传递后,竟被其他线程修改。这种安全隐患源于对String可变性的误解。Java将String设计为不可变类,正是为了解决这类核心问题。 1️⃣…

在Ubuntu上使用QEMU学习RISC-V程序(1)起步第一个程序

文章目录一、 引言二、 环境准备三、编写简单的RISC-V程序四、 编译步骤详解五、使用QEMU运行程序六、程序详解七、退出QEMU八、总结附录:QEMU中通过UTRA显示字符工作原理1、内存映射I/O原理2、add.s程序工作流程3、关键指令解析4、QEMU模拟的UART控制器5、为什么不…