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

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

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

單片機(jī)c語(yǔ)言組數(shù)怎么用,怎么定義和賦值

dytfki8u8yql ? 來源:電子技術(shù)控 ? 作者:電子技術(shù)控 ? 2022-12-08 08:55 ? 次閱讀

今天我們把數(shù)組復(fù)習(xí)一下,數(shù)組是怎么用的,怎么對(duì)它進(jìn)行定義,怎么對(duì)它進(jìn)行賦值,然后把字符型數(shù)組大概說一下。

1維數(shù)組,1維數(shù)組就是1串?dāng)?shù),怎么定義這1串?dāng)?shù)呢?數(shù)組雖然是1組數(shù),但是我們可以對(duì)它單獨(dú)使用,它就是1組有順序的數(shù)。

3d881c16-7607-11ed-8abf-dac502259ad0.jpg

把1組有順序的數(shù)給它存到1個(gè)連續(xù)的存儲(chǔ)空間中,這就是數(shù)組在單片機(jī)的應(yīng)用,某公司1共有50個(gè)人,我們50個(gè)人的編號(hào)就可以存到1個(gè)數(shù)組里,這個(gè)數(shù)組的長(zhǎng)度就是50,里面存50個(gè)數(shù),在定義了1個(gè)存儲(chǔ)長(zhǎng)度是50個(gè)數(shù)的數(shù)組,單片機(jī)就會(huì)自動(dòng)給我們分配1個(gè)連續(xù)的存儲(chǔ)空間,這50個(gè)數(shù)的數(shù)組在單片機(jī)中,存儲(chǔ)的方式是連續(xù)存儲(chǔ)的地址是1個(gè)挨著1個(gè),沒有任何間隔定義,這個(gè)能存50個(gè)數(shù)的數(shù)組,它的存儲(chǔ)類型是1個(gè)整形。

如果我想單獨(dú)把5號(hào)這個(gè)編號(hào)拿出來使用的話,那我直接就可以針對(duì)這個(gè)存儲(chǔ)地址對(duì)它進(jìn)行賦值。

比如說我們編號(hào)為5號(hào)同事名字是小李,但她突然離職,但是又來了1個(gè)新同事,又來了1個(gè)同事叫小王,這個(gè)小王沒有編號(hào),但是小李的編號(hào)是5號(hào),可是它又離職了,那我就可以讓小王變成5號(hào),就要把5號(hào)這個(gè)編號(hào)對(duì)應(yīng)到小王的身上。

就是我定義數(shù)組的時(shí)候,它給我開辟了1串連續(xù)的存儲(chǔ)空間,這個(gè)存儲(chǔ)空間里面要存什么是我決定的,我想讓它存什么存什么,這就是我們數(shù)組的賦值,可以給這個(gè)數(shù)組里面任何1個(gè)數(shù)進(jìn)行單獨(dú)賦值,1維數(shù)組,2維數(shù)組都是這樣的,不要把它想成1個(gè)數(shù)組,1串?dāng)?shù)這么復(fù)雜,只要把它想成就是1個(gè)1個(gè)的數(shù),你可以把它當(dāng)1個(gè)數(shù)用,只是在表達(dá)1個(gè)數(shù)的時(shí)候,比方說表達(dá)1就是1,表達(dá)2就是2,但是這個(gè)數(shù)組你想表達(dá)1的時(shí)候,你就是A1,向你表達(dá)2的時(shí)候就是A2,它只是名字不1樣,表達(dá)方式不1樣,其實(shí)用起來還是跟我們所定義的那個(gè)整形變量是1樣用的。

我們?cè)倏?下2維數(shù)組的賦值。

給1個(gè)3行4列的整型數(shù)組賦值,這個(gè)賦值后的結(jié)果是什么樣子,比方說定義1個(gè)3行4列的整型數(shù)組a,我第1行只給它賦了1個(gè)數(shù)1,第2行給它賦了1個(gè)數(shù)5,第3行給它賦了1個(gè)數(shù)5,這個(gè)數(shù)組最后是什么樣子的,數(shù)組的第1行只有1個(gè)數(shù),就是1,它是3行4列,所以說它的第1行有4列,第1行是4個(gè)數(shù),但是它只給賦了1個(gè)數(shù)1,那就代表第1行的第1個(gè)數(shù)是1,其它3個(gè)數(shù)都是0,那它的第1行肯定就是1000,那第2行它就賦了1個(gè)5,那它的結(jié)果肯定就是第1個(gè)是5,然后后面的3個(gè)都是0,那第3行附了1個(gè)9,同樣第1個(gè)數(shù)是9,后面3個(gè)數(shù)都是0,我們現(xiàn)在先來看1下這個(gè)小程序,這個(gè)小程序它開始定義了1個(gè)十行十列的數(shù)組,這十行十列的數(shù)組是1個(gè)浮點(diǎn)類型的數(shù)組,而且這個(gè)浮點(diǎn)型的數(shù)組是存在我們的片外存儲(chǔ)器中的,因?yàn)樗昧?個(gè)X data,它又定義了1個(gè)浮點(diǎn)型的1個(gè)變量X,這個(gè)X也是存儲(chǔ)在外部存儲(chǔ)器中的,它讓這個(gè)數(shù)組的第5行的第0個(gè)數(shù),把這個(gè)數(shù)給它賦值給。X這個(gè)變量就相當(dāng)于2維數(shù)組中存的所有的數(shù),都能把它單獨(dú)拿出來,單獨(dú)使用,把它單獨(dú)賦值給1個(gè)其它類型的變量,而且同種數(shù)據(jù)類型的數(shù)我就可以相互賦值,數(shù)組里面的數(shù)可以復(fù)制給其它的變量,其它的變量也可以賦值給數(shù)組里面的任意1個(gè)數(shù),這都是可以的,這就是我們數(shù)組在程序中的應(yīng)用。

現(xiàn)在來講最后1種數(shù)組,字符型數(shù)組,字符型數(shù)組其實(shí)跟之前所說的整型數(shù)組、浮點(diǎn)型數(shù)組是1樣的,它就只是它里面存的那個(gè)數(shù)據(jù)類型是1個(gè)字符型的而已。

以女人舉個(gè)例子,女人的英文是woman,那我九可以把這個(gè)單詞存儲(chǔ)到我的字符型數(shù)組里面,woman這個(gè)單詞1共是5個(gè)字母,可以把我這5個(gè)字母存到我1個(gè)數(shù)組里面,如果把字符型數(shù)組按照我們之前講的那些,數(shù)組和浮點(diǎn)型數(shù)組的賦值方式,這樣給它賦值,我們的系統(tǒng)中是會(huì)給你報(bào)錯(cuò)的。

首先這個(gè)woman一共是5個(gè)字母,我再給它定義我這個(gè)數(shù)組的大小的時(shí)候,不能僅僅給它定義這5個(gè)字母是字符型數(shù)組的最后1個(gè)數(shù),我們是要給它空下來的那個(gè)數(shù),就是1個(gè)固定的字符型數(shù)組的1個(gè)結(jié)束標(biāo)志為這個(gè)標(biāo)志位1定是/0,你可以給它定義這個(gè)/0,你也可以不給它定義這個(gè)/0,不給它定義的時(shí)候,它自己會(huì)自動(dòng)給它填上這個(gè)/0,就是我定義1個(gè)字符型數(shù)組的時(shí)候,它的系統(tǒng)在它最后1個(gè)存儲(chǔ)單元中給它規(guī)定了,這個(gè)存儲(chǔ)單元什么也不能存,就只能存儲(chǔ)1個(gè)結(jié)束的那個(gè)標(biāo)志位,所以說我們這個(gè)woman它1共是5個(gè)字母,給它定義數(shù)組大小的時(shí)候,一定要大于等于六個(gè),才能把這個(gè)woman給存得下,否則這個(gè)woman存不下的。

如果給它賦值的話就給它賦1個(gè)結(jié)束標(biāo)志位,就是那個(gè)/0,不給它賦的時(shí)候會(huì)自動(dòng)加上1個(gè)/0。

定義字符型的2維數(shù)組的時(shí)候也是一樣的,因?yàn)?維數(shù)組里面存的是很多個(gè)1維數(shù)組,就相當(dāng)于2維數(shù)組里面是存的是很多串?dāng)?shù),所以說再定義2維數(shù)組它的大小的時(shí)候,第1個(gè)表達(dá)式就是它1共是幾個(gè)字符串,但是第2個(gè)表達(dá)式,列數(shù)1定要是那么多字符串中最長(zhǎng)的那個(gè)字符串,還要加1,因?yàn)橐?個(gè)空間給它存它的結(jié)束標(biāo)志,寫個(gè)0。

我們定義1個(gè)字符型的2維數(shù)組,A8081,是不是1共存80個(gè)字符串,而且它這80個(gè)字符串中最長(zhǎng)的1個(gè)字符串1共是80個(gè)字符。

審核編輯:湯梓紅

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

    關(guān)注

    6026

    文章

    44452

    瀏覽量

    630828
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135549
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    567

    瀏覽量

    20432

原文標(biāo)題:?jiǎn)纹瑱C(jī)c語(yǔ)言組數(shù)怎么用,怎么定義和賦值

文章出處:【微信號(hào):電子技術(shù)控,微信公眾號(hào):電子技術(shù)控】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)C語(yǔ)言如何產(chǎn)生隨機(jī)數(shù)

    單片機(jī)C語(yǔ)言如何產(chǎn)生隨機(jī)數(shù) 隨機(jī)數(shù)單片機(jī)的應(yīng)用中也是很多的,當(dāng)然產(chǎn)生隨機(jī)
    發(fā)表于 05-14 15:14

    單片機(jī)C語(yǔ)言編程中“位”的保存方案

    引言   在現(xiàn)有的教課書及相關(guān)文章中,都難得提到在單片機(jī)C語(yǔ)言編程中對(duì)于自定義“位”的狀態(tài)進(jìn)行保存的理念。   當(dāng)單片機(jī)
    發(fā)表于 07-06 11:44 ?2237次閱讀

    AVR單片機(jī)C語(yǔ)言總綱

    提出了一種學(xué)習(xí)AVR單片機(jī)c語(yǔ)言編程的方法,并提供了完整的教程AVR單片機(jī)c語(yǔ)言總綱.
    發(fā)表于 04-13 14:59 ?154次下載

    單片機(jī)C語(yǔ)言輕松入門

    單片機(jī)c語(yǔ)言的融合,供那些不知道怎么將c語(yǔ)言單片機(jī)融合的人學(xué)習(xí)和借鑒
    發(fā)表于 12-21 15:11 ?26次下載

    單片機(jī)C語(yǔ)言輕松入門資料

    隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,目前已有越來越多的人從普遍使用匯編語(yǔ)言到逐漸使 高級(jí)語(yǔ)言開發(fā),其中主要是以C
    發(fā)表于 04-25 16:48 ?56次下載

    8051單片機(jī)C語(yǔ)言軟件設(shè)計(jì)8051單片機(jī)C語(yǔ)言軟件設(shè)計(jì)

    8051單片機(jī)C語(yǔ)言軟件設(shè)計(jì)8051單片機(jī)C語(yǔ)言軟件設(shè)計(jì)
    發(fā)表于 10-16 11:25 ?92次下載
    8051<b class='flag-5'>單片機(jī)</b><b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>軟件設(shè)計(jì)8051<b class='flag-5'>單片機(jī)</b><b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>軟件設(shè)計(jì)

    單片機(jī)編程什么語(yǔ)言_單片機(jī)編程語(yǔ)言推薦

    單片機(jī)編程的語(yǔ)言既可以C,也可以用匯編。
    發(fā)表于 12-05 11:15 ?6.3w次閱讀

    單片機(jī)C語(yǔ)言程序設(shè)計(jì)的詳細(xì)資料

    C語(yǔ)言目前己成為電子工程師進(jìn)行單片機(jī)系統(tǒng)開發(fā)時(shí)的常用編程語(yǔ)言。C
    發(fā)表于 07-07 14:48 ?75次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>程序設(shè)計(jì)的詳細(xì)資料

    單片機(jī)C語(yǔ)言C語(yǔ)言為什么有差異?

    許多小伙伴在學(xué)完C語(yǔ)言后想入門單片機(jī),但學(xué)著學(xué)著發(fā)現(xiàn)明明都是C語(yǔ)言,為什么單片機(jī)
    發(fā)表于 09-01 16:39 ?3709次閱讀

    1.單片機(jī)C語(yǔ)言的關(guān)系(5)

    單片機(jī)C語(yǔ)言的關(guān)系1.單片機(jī)一般使用C語(yǔ)言來編程2.學(xué)習(xí)
    發(fā)表于 11-10 20:35 ?18次下載
    1.<b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>的關(guān)系(5)

    51單片機(jī)的IO接口的地址和賦值大小的關(guān)系

    關(guān)于51單片機(jī)的IO接口的地址與賦值大小理解前提了解關(guān)于51單片機(jī)的IO接口的地址與賦值大小理解其他單片機(jī)
    發(fā)表于 11-17 10:51 ?14次下載
    51<b class='flag-5'>單片機(jī)</b>的IO接口的地址和<b class='flag-5'>賦值</b>大小的關(guān)系

    C語(yǔ)言單片機(jī)C語(yǔ)言為什么會(huì)有差異?雖不同但理同!

    普通C語(yǔ)言增加了一些基本的指令,變量的賦值是16進(jìn)制,當(dāng)然單片機(jī)c語(yǔ)言只牽涉到普通
    發(fā)表于 11-20 20:06 ?10次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>和<b class='flag-5'>單片機(jī)</b><b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>為什么會(huì)有差異?雖不同但理同!

    單片機(jī)為什么一直C語(yǔ)言,不用其他編程語(yǔ)言?只有學(xué)過的知道!

    單片機(jī)為什么還在用C語(yǔ)言編程?答案是:C語(yǔ)言是最適合單片機(jī)編程的高級(jí)
    發(fā)表于 11-23 17:51 ?11次下載
    <b class='flag-5'>單片機(jī)</b>為什么一直<b class='flag-5'>用</b><b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>,不用其他編程<b class='flag-5'>語(yǔ)言</b>?只有學(xué)過的知道!

    單片機(jī)入門必知 | C單片機(jī)C不一樣?

    單片機(jī)c語(yǔ)言比起普通C語(yǔ)言增加了一些基本的指令,變量的賦值是16進(jìn)制,當(dāng)然
    發(fā)表于 02-09 11:18 ?2次下載
    <b class='flag-5'>單片機(jī)</b>入門必知 | <b class='flag-5'>C</b>與<b class='flag-5'>單片機(jī)</b><b class='flag-5'>C</b>不一樣?

    單片機(jī)c語(yǔ)言入門指南

    隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,目前已有越來越多的人從普遍使用匯編語(yǔ)言到逐漸使 高級(jí)語(yǔ)言開發(fā),其中主要是以 C
    發(fā)表于 07-07 14:34 ?6次下載