在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何創(chuàng)建和使用多維數(shù)組

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-26 17:45 ? 次閱讀

步驟1:我們需要什么要擁有

要最終以可見(jiàn)的方式顯示二維數(shù)組(我們稍后將討論3維數(shù)組選項(xiàng)),我們將創(chuàng)建一個(gè)記錄設(shè)備使用與我的一維數(shù)組Instructable相同的材料。這些材料是:

3個(gè)面包板按鈕(記錄按鈕,記錄其按下情況的按鈕和播放按鈕)

3個(gè)LED(指示每個(gè)按鈕何時(shí)已按下)

6個(gè)小電阻(我將使用220歐姆)

Digilent的chipKIT Uno32(運(yùn)行代碼的微控制器

跳線(

面包板(未顯示)

步驟2:關(guān)于多維數(shù)組的注意事項(xiàng)

一個(gè)二維數(shù)組,或與此相關(guān)的任何二維數(shù)組,本質(zhì)上是多個(gè)單維數(shù)組。多維數(shù)組的好處是它可以在一個(gè)代碼段中直觀地將相關(guān)數(shù)組分組在一起。這樣,程序員不必從多個(gè)來(lái)源調(diào)用信息,而是可以指定一個(gè)來(lái)源并從那里找到他們的信息。

聲明一個(gè)維數(shù)組時(shí),實(shí)際上就是在創(chuàng)建一行值。對(duì)于每個(gè)更高的維度,您都可以在值行中添加(不信不信)另一個(gè)維度。二維數(shù)組將使您的線成為值的平面,而三維數(shù)組將使值的平面成為值的立方體。

再往前走,您就會(huì)開(kāi)始涉入有趣的觀點(diǎn)。可以將一個(gè)四維數(shù)組視為具有三個(gè)多維數(shù)據(jù)集的一行。六個(gè)維度的數(shù)組可以認(rèn)為是一個(gè)立方體。等等。

不過(guò),作為免責(zé)聲明,您在編程中幾乎不需要3維數(shù)組以外的任何東西。當(dāng)然,更高維度的數(shù)組可以用作[國(guó)家/地區(qū)] [州] [縣] [鎮(zhèn)] [家庭] [人]或某些銷售目的的目錄/數(shù)據(jù)庫(kù),但是(在我看來(lái))這將更易于在多個(gè)環(huán)境中導(dǎo)航,較小尺寸的數(shù)組,并且其中一些數(shù)組需要大量的內(nèi)存。

步驟3:聲明和初始化二維數(shù)組

但是讓我們進(jìn)入實(shí)際創(chuàng)建這些數(shù)組的更實(shí)際的部分。添加到數(shù)組中的每個(gè)維度都會(huì)在第一組[元素]的前面添加一個(gè)額外的[元素],該元素指定每個(gè)單個(gè)維度數(shù)組的長(zhǎng)度。

因此,對(duì)于二維數(shù)組,您可以將聲明您需要一定數(shù)量的具有一定長(zhǎng)度的單維數(shù)組。例如,如果我想聲明一個(gè)包含3個(gè)一維數(shù)組(每個(gè)數(shù)組包含4個(gè)元素)的2D數(shù)組,我將輸入:

int myFirst2DArray [3] [4];

這很好創(chuàng)建我們想要的數(shù)組,但在所有12個(gè)點(diǎn)中都用零填充。要使用某些值初始化它,而不必以后再單獨(dú)分配它們,我們可以改為輸入:

int myFirst2DArray [3] [4] =

{

{1,2,3,4 },

{5,6,7,8},

{9,10,11,12}

};

您可以安排它,使其僅在一行上相反,但這可以使我從視覺(jué)上確保我擁有所有想要的值。

與單維數(shù)組一樣,我們可以通過(guò)說(shuō)明各個(gè)方向上的哪個(gè)元素來(lái)訪問(wèn)單個(gè)值我們要訪問(wèn)。例如,要獲取第二個(gè)數(shù)組的一維數(shù)組的第三個(gè)值,我們輸入:

int x = myFirst2DArray [1] [2];

步驟4:聲明和初始化高維數(shù)組

同樣,當(dāng)您向單個(gè)維數(shù)組添加更多維時(shí),在聲明的前面會(huì)添加更多[elements]陣列。因此,對(duì)于一個(gè)具有三層,四行,每行中具有兩個(gè)元素的三維單維數(shù)組的三維數(shù)組,我們可以通過(guò)鍵入以下內(nèi)容對(duì)其進(jìn)行初始化:

int myFirst3DArray [3] [4] [2] =

{

{{10,11},{12,13},{14,15},{16,17}},

{{18,19},{20, 21},{22、23},{24、25}},

{{26,27},{28、29},{30、31},{32、33}}

};

步驟5:關(guān)于多維數(shù)組的更多信息

請(qǐng)注意,我們可以將數(shù)組擴(kuò)展到更多通過(guò)以下方式幫助說(shuō)明這三個(gè)維度:

{//整個(gè)數(shù)組

{//多維數(shù)據(jù)集的第一層

{10,11},//值的第一行/行圖層

{12,13}等,等等//圖層中的其他值行

},//多維數(shù)據(jù)集第一層的末端

{//多維數(shù)據(jù)集的第二層

{18,19}等,等等//值行

}//第二層的末尾

等,等等//第三層和值

}//整個(gè)末尾數(shù)組

。..但是那將使步驟l不必要的大而繁瑣(顯然Instructables忽略了代碼和注釋之間的某些空格),因此在一行的特定層中初始化所有值的更為精簡(jiǎn)的版本代替了。通過(guò)這種嵌套的{}樣式,您可以創(chuàng)建多維數(shù)組。

請(qǐng)注意,在初始化數(shù)組時(shí),您不會(huì)為高階維提供值,而只是為單維數(shù)組提供值。否則,您將嘗試以某種方式為編譯器不知道要處理的數(shù)組賦予額外的值。

步驟6:實(shí)踐中的二維數(shù)組

讓我們建立電路,以便我們可以測(cè)試二維陣列。如果您碰巧已經(jīng)從我的Instructionable一維數(shù)組中設(shè)置了此電路,請(qǐng)隨時(shí)跳過(guò)該電路結(jié)構(gòu)。

將面包板上的負(fù)電源導(dǎo)軌連接到標(biāo)有“芯片組Uno32上的“ GND”。然后,從Uno32上的3.3V電源引腳到面包板上的正極電源線連接一根跳線。

現(xiàn)在,將三個(gè)按鈕中的每個(gè)按鈕放置在面包板上,使每個(gè)按鈕跨過(guò)面包板中間的山谷。使用電阻器之一將每個(gè)按鈕的一只腳連接到負(fù)電源軌。將支腳與接地的導(dǎo)線連接到山谷的同一側(cè),并連接至正極電源線。

步驟7:設(shè)置電路-LED和數(shù)字信號(hào)

對(duì)于電路的視覺(jué)部分(包括LED,無(wú)論是否相信),在每個(gè)按鈕旁邊放置一個(gè)LED。在每個(gè)LED的陰極側(cè)與負(fù)電源軌之間連接一個(gè)220 Ohm的電阻

雖然看起來(lái)不錯(cuò),但是如果我們無(wú)法從電路中發(fā)出或接收任何信號(hào),那對(duì)我們沒(méi)有好處。要解決此問(wèn)題,請(qǐng)從每個(gè)LED的陽(yáng)極側(cè)到Uno32上自己的數(shù)字引腳的跳線,以及從每個(gè)按鈕的接地腳到Uno32上他們自己的數(shù)字引腳的跳線。我將引腳5、7和9用于按鈕,將引腳31、33和35用于LED。

步驟8:二維記錄代碼

根據(jù)記錄的性質(zhì),我們和微控制器都無(wú)法確定在實(shí)際停止記錄之前記錄將持續(xù)多長(zhǎng)時(shí)間。因此,我們將猜測(cè)要存儲(chǔ)最長(zhǎng)的記錄,陣列必須有多大。由于Uno32具有32位處理器,因此我們不必?fù)?dān)心整數(shù)的大小限制,除非您計(jì)劃在錄制期間一次按住(或不按住)按鈕超過(guò)24天。

假設(shè)是這種情況,我們或至少我將記錄陣列的大小設(shè)置為兩組,每組50個(gè)元素,因?yàn)槲也淮蛩阌涗洺^(guò)25次的按鈕按下(其中一個(gè)用于按下按鈕)并熄滅,一個(gè)按下按鈕,然后點(diǎn)亮)。第二組50個(gè)元素跟蹤按鈕的打開(kāi)或關(guān)閉狀態(tài),這樣您就不僅可以記錄按鈕被按下(或不按下)的時(shí)間長(zhǎng)度,還可以猜測(cè)按鈕在開(kāi)始時(shí)是否被按下。錄音。您可以在下面的文本文件中下載用于Uno32的代碼。如果尚未安裝,則需要免費(fèi)的MPIDE軟件對(duì)Uno32進(jìn)行編程。

可以免費(fèi)簽出二維記錄視頻;您可能會(huì)注意到,它看起來(lái)與單陣列演示視頻的視頻看起來(lái)非常相似,但這是因?yàn)槎S數(shù)組本質(zhì)上是一組單維數(shù)組,因此兩組代碼在功能上是相同的。

第9步:您提到了3維數(shù)組嗎?

確實(shí)做到了。但這也與多維數(shù)組的固有局限性有關(guān)。此限制以內(nèi)存形式出現(xiàn)。在創(chuàng)建代碼的大部分時(shí)間里,我都會(huì)將變量放在“堆棧”(編程中的內(nèi)存對(duì)象)上,假定它們是局部變量,或者創(chuàng)建全局變量,這些變量存儲(chǔ)在稱為“ .data”的另一種內(nèi)存類型中。 p》

我不會(huì)嘗試解釋編程中內(nèi)存的詳細(xì)信息/機(jī)制(主要是因?yàn)槲也惶私馑悄梢栽诖颂幜私飧嘈畔ⅲ菑奈业睦斫庵辛私庠赨no32上創(chuàng)建巨型三維數(shù)組作為一種乘法表/多維數(shù)據(jù)集,我遇到了堆棧溢出問(wèn)題,這意味著我試圖在內(nèi)存中放置超出空間的東西,因此編譯器將多余的東西放在其他地方不應(yīng)混淆的內(nèi)存位置,導(dǎo)致在我嘗試運(yùn)行該程序時(shí)該程序崩潰。我似乎無(wú)法說(shuō)服該程序,動(dòng)態(tài)分配的內(nèi)存也應(yīng)該允許我有更多的內(nèi)存空間。

基本上,我內(nèi)存不足,無(wú)法找到一種制作3D陣列的方法工作。

我最終確實(shí)做了一個(gè)小的2D數(shù)組工作(60 x 60),但是我們只介紹了2D數(shù)組的一個(gè)例子,最后,您可以在代碼中鍵入乘法問(wèn)題并得到答案。無(wú)需先創(chuàng)建答案數(shù)組。這是學(xué)習(xí)新事物和實(shí)用主義之間的分界線。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23709

    瀏覽量

    670976
  • 電阻
    +關(guān)注

    關(guān)注

    87

    文章

    5607

    瀏覽量

    174342
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Nordic 54L15開(kāi)發(fā)環(huán)境搭建和開(kāi)發(fā)文檔誰(shuí)知道,謝謝

    Nordic 54L15開(kāi)發(fā)環(huán)境搭建和開(kāi)發(fā)文檔誰(shuí)知道,謝謝
    發(fā)表于 03-10 15:34

    SOLIDWORKS 2025教育版支持多部件裝配體的創(chuàng)建和管理

    SOLIDWORKS作為一款廣泛使用的三維CAD設(shè)計(jì)軟件,在教育領(lǐng)域同樣占據(jù)了重要地位。SOLIDWORKS 2025教育版不僅提供了強(qiáng)大的設(shè)計(jì)工具和功能,還大大地支持了多部件裝配體的創(chuàng)建和管理,為教育工作者和學(xué)生提供了一個(gè)有效、直觀的設(shè)計(jì)平臺(tái)。
    的頭像 發(fā)表于 02-10 14:45 ?382次閱讀
    SOLIDWORKS 2025教育版支持多部件裝配體的<b class='flag-5'>創(chuàng)建和</b>管理

    AN-1420:利用數(shù)字鎖相環(huán)(DPLL)實(shí)現(xiàn)相位增建和無(wú)中斷切換

    電子發(fā)燒友網(wǎng)站提供《AN-1420:利用數(shù)字鎖相環(huán)(DPLL)實(shí)現(xiàn)相位增建和無(wú)中斷切換.pdf》資料免費(fèi)下載
    發(fā)表于 01-13 14:07 ?0次下載
    AN-1420:利用數(shù)字鎖相環(huán)(DPLL)實(shí)現(xiàn)相位增<b class='flag-5'>建和</b>無(wú)中斷切換

    數(shù)組的下標(biāo)為什么可以是負(fù)數(shù)

    最近有同學(xué)發(fā)來(lái)這樣一段代碼,并提出一個(gè)問(wèn)題,數(shù)組的下標(biāo)為什么可以是負(fù)數(shù)? ? ? #include int main(){ const char *s = "helloworld"; const
    的頭像 發(fā)表于 12-20 11:18 ?442次閱讀

    RK3568國(guó)產(chǎn)處理器 + TensorFlow框架的張量創(chuàng)建實(shí)驗(yàn)案例分享

    一、實(shí)驗(yàn)?zāi)康?本節(jié)視頻的目的是了解張量定義、了解張量的表示形式、并學(xué)習(xí)基于TensorFlow框架的張量創(chuàng)建方法。 二、實(shí)驗(yàn)原理. 張量定義 1、張量是多維數(shù)組,這個(gè)定義常見(jiàn)于各種人工智能軟件。 2
    發(fā)表于 12-03 14:43

    數(shù)組名之間可以直接賦值嗎

    數(shù)組之間的賦值能不能直接使用等于號(hào)?比如這樣的代碼。 int main(){ int a[5] = {1, 2, 3, 4, 5}; int b[5] = {0}; b = a
    的頭像 發(fā)表于 11-26 11:23 ?512次閱讀

    指針數(shù)組和二維數(shù)組有沒(méi)有區(qū)別

    指針數(shù)組和二維數(shù)組有沒(méi)有區(qū)別?比如這樣的兩個(gè)代碼。 int main(){ char *s1[] = { "hello", "world", "total" }; char s2[][6
    的頭像 發(fā)表于 11-24 11:12 ?482次閱讀

    C語(yǔ)言數(shù)組應(yīng)用計(jì)算機(jī)導(dǎo)論A第6講:數(shù)組

    C語(yǔ)言數(shù)組應(yīng)用計(jì)算機(jī)導(dǎo)論A第6講:數(shù)組
    發(fā)表于 11-20 15:33 ?0次下載

    多維科技推出新型TMR傳感器芯片

    專注于隧道磁阻(TMR)技術(shù)的磁傳感器領(lǐng)先制造商江蘇多維科技有限公司 (MultiDimension Technology Co., Ltd., 英文簡(jiǎn)稱“MDT”,以下簡(jiǎn)稱“多維科技”)在德國(guó)
    的頭像 發(fā)表于 11-18 11:09 ?1803次閱讀

    解讀版|Air780E軟件中C語(yǔ)言內(nèi)存數(shù)組的神秘面紗!

    今天我們來(lái)揭開(kāi)Air780E 軟件中 C 語(yǔ)言內(nèi)存數(shù)組的神秘面紗,希望有所收獲。
    的頭像 發(fā)表于 11-17 10:00 ?578次閱讀
    解讀版|Air780E軟件中C語(yǔ)言內(nèi)存<b class='flag-5'>數(shù)組</b>的神秘面紗!

    Altium Designer 18~24創(chuàng)建、打開(kāi)工程閃退

    在使用AD進(jìn)行工程創(chuàng)建和打開(kāi)工程時(shí)出現(xiàn)閃退的現(xiàn)象,使用AD18打開(kāi)PCB時(shí)報(bào)錯(cuò)(見(jiàn)下圖),使用其余版本則是直接閃退。請(qǐng)問(wèn)哪位大佬遇見(jiàn)過(guò)類似情況,請(qǐng)指點(diǎn)一下!
    發(fā)表于 11-10 15:26

    多維表格屬于低代碼平臺(tái)嗎?

    Teable多維表格數(shù)據(jù)庫(kù)是一款功能強(qiáng)大的云端數(shù)據(jù)庫(kù)和協(xié)作工具,結(jié)合了電子表格的靈活性和數(shù)據(jù)庫(kù)的強(qiáng)大功能,適用企業(yè)內(nèi)部項(xiàng)目管理 數(shù)據(jù)收集與整理 內(nèi)容管理與創(chuàng)意協(xié)作 客戶關(guān)系管理 項(xiàng)目跟蹤與分析 IT與工程管理等
    的頭像 發(fā)表于 10-17 14:22 ?510次閱讀

    labview字符串數(shù)組轉(zhuǎn)化為數(shù)值數(shù)組

    在LabVIEW中,將字符串數(shù)組轉(zhuǎn)換為數(shù)值數(shù)組是一項(xiàng)常見(jiàn)的任務(wù),尤其是在處理數(shù)據(jù)采集、信號(hào)處理或用戶輸入時(shí)。 1. 理解LabVIEW的數(shù)據(jù)類型 在開(kāi)始之前,了解LabVIEW中的數(shù)據(jù)類型是非
    的頭像 發(fā)表于 09-04 17:47 ?4886次閱讀

    面試常考+1:函數(shù)指針與指針函數(shù)、數(shù)組指針與指針數(shù)組

    在嵌入式開(kāi)發(fā)領(lǐng)域,函數(shù)指針、指針函數(shù)、數(shù)組指針和指針數(shù)組是一些非常重要但又容易混淆的概念。理解它們的特性和應(yīng)用場(chǎng)景,對(duì)于提升嵌入式程序的效率和質(zhì)量至關(guān)重要。一、指針函數(shù)與函數(shù)指針指針函數(shù):定義:指針
    的頭像 發(fā)表于 08-10 08:11 ?1336次閱讀
    面試常考+1:函數(shù)指針與指針函數(shù)、<b class='flag-5'>數(shù)組</b>指針與指針<b class='flag-5'>數(shù)組</b>

    RT-Thread Studio構(gòu)建和重新構(gòu)建的不同,一般我們編譯工程時(shí)用哪個(gè)?

    想請(qǐng)教在RT-Thread Studio中,構(gòu)建和重新構(gòu)建的不同,一般我們編譯工程時(shí)用哪個(gè),謝謝!
    發(fā)表于 07-25 07:38
    主站蜘蛛池模板: 天天干影院 | 色多多免费在线观看 | 一区二区三区四区视频在线 | 男女免费视频 | 午夜小视频网站 | 99久久99久久精品国产 | 亚洲伊人久久大香线蕉结合 | 亚洲 欧美 另类 综合 日韩 | 亚洲久久在线 | 亚洲免费视频一区二区三区 | 中日韩精品视频在线观看 | 国产日韩精品欧美一区色 | 特黄一级毛片 | 国产色噜噜 | 久久婷婷丁香七月色综合 | 亚洲国产第一区二区香蕉 | 精品四虎免费观看国产高清午夜 | 午夜黄网 | 免费观看理论片毛片 | 超级乱淫片67194免费看 | 国产一二三区在线 | 成年人啪啪网站 | 视频在线观看高清免费大全 | 99久久精品免费看国产 | 四虎永久在线精品免费观看地址 | 久热福利 | 久久天天躁夜夜躁狠狠 | 久久精品国产免费中文 | 黄色大片毛片 | 日本在线不卡视频 | 黄色网一级片 | 伊人久久大香线蕉综合亚洲 | 天天干天天射天天舔 | 午夜影视福利 | 美日韩一区二区 | 国产精品久久久久久一级毛片 | 四虎中文 | 一级做a爱片久久毛片 | 免费看美女禁处爆涌视频 | 69xxxx欧美老师 | 欧美一级免费观看 |