新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)之C語(yǔ)言-4.2數(shù)組

51單片機(jī)之C語(yǔ)言-4.2數(shù)組

作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò) 收藏
現(xiàn)在我們知道了,不同的數(shù)據(jù)實(shí)際上是占用的單元格不同,8個(gè)單元格就是char,16個(gè)坑就是int,32坑就是long. 在實(shí)際應(yīng)用中,可能有很多char,比如char1,char2,char3...,也很多int1,int2,int3...,也有很多l(xiāng)ong1,long2,long3等等。這么多的變量,我們能不能歸個(gè)類(lèi)。比如把單元格長(zhǎng)度相同的放在一起,比如char1,char2,char3等,這樣就產(chǎn)生了數(shù)組的概念。那么如何把這些相同長(zhǎng)度的單元格變量放在一起呢,也就是說(shuō)如何定義一個(gè)數(shù)組呢?

一維數(shù)組的定義方式如下:

本文引用地址:http://m.butianyuan.cn/article/201611/319551.htm

類(lèi)型說(shuō)明符數(shù)組名 [常量表達(dá)式]

類(lèi)型說(shuō)明符: 表示你想把什么長(zhǎng)度單元格的變量放在一起,比如是char,int還是long

數(shù)組名: 給你定義的數(shù)組取個(gè)名字,數(shù)組標(biāo)識(shí)符

常量表達(dá)式: 表示你定義的數(shù)組中裝有多少個(gè)元素,也就是數(shù)組長(zhǎng)度

比如char a[4]; 說(shuō)明字符型數(shù)組a,有4個(gè)元素

既然定義了數(shù)組,那么如何訪(fǎng)問(wèn)數(shù)組中的元素呢?比如我要訪(fǎng)問(wèn)數(shù)組a的第二個(gè)元素,

a[0] 表示數(shù)組的第一個(gè)元素

a[1]就表示數(shù)組的第二個(gè)元素

依次類(lèi)推。

現(xiàn)在我們舉個(gè)例子如何在單片機(jī)編程中使用數(shù)組,

例4-2-1如何在單片機(jī)編程中使用數(shù)組

定義一個(gè)數(shù)組,將數(shù)組中各元素的值給P1端口實(shí)現(xiàn)流水燈的功能

#include "reg52.h"

typedef unsigned char uchar;

typedef unsigned char chararray[8];//定義一個(gè)新的數(shù)組類(lèi)型,它有8個(gè)元素,數(shù)據(jù)類(lèi)型為unsigned char

void delayUs (unsigned char t);

void delayMs(unsigned char t);

void main(void)

{

chararray a ={0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf ,0xbf ,0x7f};

while(1)

{

uchar i;

P1=a[0];

for (i=0;i<8;i++)

{

P1=a[i];

delayMs(100);

}

for (i=7;i>0;i--)

{

P1=a[i];

delayMs(100);

}

}

}

void delayUs (uchar t)

{

while(--t);

}

void delayMs(uchar t)

{

while(--t)

{

delayUs(245);

delayUs(245);

}

}



評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉