关于流水灯里面的一个参数疑问?

2020-02-05 09:15发布

//实例31:用数组作函数参数控制流水花样
#include<reg51.h>
/*************************************************
函数功能:延时约150ms
*************************************************/
void delay(void)
{
unsigned char m,n;
for(m=0;m<200;m++)
for(n=0;n<250;n++)
;
}
/*************************************************
函数功能:流水点亮P0 口8 位LED
*************************************************/
void led_flow(unsigned char a[8])//<======================括号里面的8有什么用,什么我把里面的8改成空格,流水灯的效果没有区别??
{
unsigned char i;
for(i=0;i<8;i++)
{
P1=a[i];
delay();
}
}
/*************************************************
函数功能:主函数
*************************************************/
void main(void)
{
while(1)
{
unsigned char code
Tab[ ]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
//流水灯控制码
led_flow(Tab);
}
}



问题在上面的注释里,个人是个C新手,希望热心人帮一把,先谢谢啦.

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
無智
1楼-- · 2020-02-05 21:26
 精彩回答 2  元偷偷看……
haohan007
2楼-- · 2020-02-05 21:36
unsigned char a[]  告诉KEIL这里是数组在RAM里的首地址,就是形参数,建力个模型,模型的具体大小还未知。


unsigned char a[Tab]告诉KEIL这是实参数了,这个模型的大小已确定,可以根据大小分配了。
無智
3楼-- · 2020-02-06 02:19
在定义中:
void led_flow(unsigned char a[8]) // 8的作用其实有点象注释;
在你明白只要做8次动作的前提下,完全可以定义为void led_flow(unsigned char *a)
mook_dj
4楼-- · 2020-02-06 07:56
無智 发表于 2012-5-26 00:02
在定义中:
void led_flow(unsigned char a[8]) // 8的作用其实有点象注释;
在你明白只要做8次动作的前提 ...

我做了多次实验,也觉得它像一个注释,当时看见它是的括号里,所以以为它会对整个程序起重要作用,试着改了很多不同的数,结果流水灯效果没变,才发贴问个明白.

现在明白了,谢谢你们.
y574924080
5楼-- · 2020-02-06 10:18
又学到东西了~~~~~~
無智
6楼-- · 2020-02-06 12:19
 精彩回答 2  元偷偷看……

一周热门 更多>