日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> 單片機C語言多維數(shù)組

單片機C語言多維數(shù)組

關(guān)鍵字:單片機 C語言 多維 數(shù)組 作者:admin 來源:不詳 發(fā)布時間:2018-05-19  瀏覽:10

多維數(shù)組

對于二維數(shù)組a[4][6];由于數(shù)組名代表數(shù)組的起始地址,所以a(第一層)和第一個元素a[0][0]地址的數(shù)字是相同的,但是意義卻是不同的。 對于該數(shù)組我們可以理解為:a的一維數(shù)組(第一層),它有四個元素a[0]、a[1]、a[2]、a[3](第二層),而每個元素又含有6個元素a[0] [0],a[0][1],a[0][2],a[0][3],a[0][4],a[0][5](第三層),…到此我們終于訪問到了每個元素了,這個過程我們 經(jīng)歷了:a->a[0]->a[0][0];

整體來講:a是一個4行5列的二維數(shù)組,a表示它指向的數(shù)組的首地址(第一個元素地址&a[0]),同時a[0]指向一行,它是這個行的名字 (和該行的第一個元素的首地址相同(第一個元素為地址&a[0][0]))。所以從數(shù)字角度說:a、a[0]、&a[0][0]是相同 的,但是他們所處的層次是不同的。

既然a代表二維數(shù)組,那么a+i就表示它的第i+1個元素*(a+i)的地址,而在二維數(shù)組中

*(a+i)又指向一個數(shù)組,*(a+i)+j表示這個數(shù)組的第j+1個元素的地址,所以要訪問這個元素可以使用 *(*(a+i)+j)(也就是a[i][j])。

他們的示意圖為(虛線代表不是實際存在的):

 

單片機多維數(shù)組

對照這個圖,如下的一些說法都是正確的(對于a[4][6]):

a是一個數(shù)組類型,*a指向一個數(shù)組;

a+i指向一個數(shù)組;

a、*a和&a[0][0]數(shù)值相同;

a[i]+j和*(a+i)+j是同一個概念;

總結(jié)一下就是:我們對于二維指針a,他指向數(shù)組a[0,1,2,3],使用*,可以使他降級到第二層次,這樣*a就指向了第一個真正的數(shù)組。對于其他的情況我們也可以采用相同的方式,對于其他維數(shù)和類型的數(shù)組我們可以采用相類似的思想。

說到指向數(shù)組的指針,我們還可以聲明一個指針變量讓它指向一個數(shù)組。例如:

int (*p)[5];

這時p就是一個指針,要指向一個含有5個int類型元素的數(shù)組,指向其他的就會出現(xiàn)問題。這個時候我們可以使用上面的什么東西來初始化呢?我們可以使用*a,*(a+1),a[2]等。原因很簡單:我們在一個二維的數(shù)組中,那么表達方式有上面的相互類似的意義呢?只有 *a,*(a+1),a[2]等。

編輯:admin  最后修改時間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

浑源县| 清水河县| 石棉县| 潞西市| 威信县| 府谷县| 密山市| 南召县| 玛沁县| 会东县| 双峰县| 大化| 临邑县| 和硕县| 辽阳县| 即墨市| 祁阳县| 龙州县| 仁化县| 新建县| 东至县| 汾阳市| 华坪县| 德格县| 商都县| 社会| 攀枝花市| 广南县| 丹阳市| 镇坪县| 万年县| 巫山县| 英超| 太康县| 礼泉县| 浙江省| 云梦县| 和硕县| 凌源市| 通河县| 安平县|