51单片机c语言数组怎么用,51单片机之C语言-4.2数组

原标题:51单片机之C语言-4.2数组

现在我们知道了,不同的数据实际上是占用的单元格不同,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);

}

}

责任编辑:

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值