现在咱们知道了,不同的数据实践上是占用的单元格不同,8个单元格便是char,16个坑便是int,32坑便是long. 在实践运用中,可能有许多char,比方char1,char2,char3…,也许多int1,int2,int3…,也有许多long1,long2,long3等等。这么多的变量,咱们能不能归个类。比方把单元格长度相同的放在一同,比方char1,char2,char3等,这样就产生了数组的概念。那么怎么把这些相同长度的单元格变量放在一同呢,也便是说怎么界说一个数组呢?
一维数组的界说方法如下:
类型阐明符数组名 [常量表达式]
类型阐明符: 一共你想把什么长度单元格的变量放在一同,比方是char,int仍是long
数组名: 给你界说的数组取个姓名,数组标识符
常量表达式: 一共你界说的数组中装有多少个元素,也便是数组长度
比方char a[4]; 阐明字符型数组a,有4个元素
已然界说了数组,那么怎么拜访数组中的元素呢?比方我要拜访数组a的第二个元素,
a[0] 一共数组的第一个元素
a[1]就一共数组的第二个元素
顺次类推。
现在咱们举个比如怎么在单片机编程中运用数组,
例4-2-1怎么在单片机编程中运用数组
界说一个数组,将数组中各元素的值给P1端口完成流水灯的功用
#include “reg52.h”
typedef unsigned char uchar;
typedef unsigned char chararray[8];//界说一个新的数组类型,它有8个元素,数据类型为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);
}
}