于縱橫交錯的矩陣間:二維數組與多維數據的默契和鳴

在這里插入圖片描述

大家好啊,我是小象?(?òωó?)?
我的博客: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
英文地址,請注明出處:http://en.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、為什么不…