从单片机基础到程序框架(全集 2019pdf版) - 第195页

View(x[0]) ; //把第 1 个数 x[0]发 送到电脑 端的串口助手 软件上观察。 View(x[1]) ; //把第 2 个数 x[1]发 送到电脑 端的串口助手 软件上观察。 View(x[2]) ; //把第 3 个数 x[2]发 送到电脑 端的串口助手 软件上观察。 View(y[0]) ; //把第 4 个数 y[0]发 送到电脑 端的串口助手 软件上观察。 View(y[1]) ; //把第 5 个数 y[1]发…

100%1 / 836
中括号内的 N 什么时候是“数组的元素总数什么时候是“数组的元素下标”这个问题对初学者很容
易混淆。其实很简单,定义的时候是“数组的元素总数”操作调用具体某个元素的时候是“数组的元素
标”
【46.3 什么情况下可以省略定义的元素总数?】
一维数组在定义时,如果预先给它填写若干个初始化的数据,在语法上,也可以省略中括号[N]里面
元素总数 N,这样编译器在编译时会根据初始化的总数来自动识别和定义此一维数组实际元素总数,分配对
应数量的内 RAM。比如:
unsigned char y[3]={10,11,12}; //没有省略元素总数的写法
unsigned char y[]={10,11,12}; //在初始化的情况下,省略了元素总数的写法。
的意义是一样的,都是合法的,都是 C 语言所允许的。注意,省略元素个数时必须要有初始化的数据,
否则,编译器不知道此数组的长度,可能导致编译出错。
这个功能在实际应用中有什么作用呢?在实际应用中,此项功能一般会用在常量数组里,而不是变量
数组里。当在数组定义的前面加上“const”或者“code”(针对 51 单片机)的关键词时,原来“变量”的数
组就会变成“常量”的数组,这时,如果把常量的数组用来作为某个转换表格,此功能就很实用。因为作为
转换表格的常量数组,我们在编程程序的过程中,有可能随时往里面添加数组,这个时候,不用我们刻意去
计算和调整数组的元素总数 N,给我们写程序带来了便利。对于这个功能的应用,大家先有一个感性的认识
即可,暂时不用深入去了解,因为后续的章节还会讲解这方面的内容。
【46.4 例程练习和分析。
现在编写一个程序来熟悉一下一维数组的使用
程序代码如下:
/*---C 语言学习区域的开始。-----------------------------------------------*/
unsigned char x[3]; //此处 3 不是下标,而是元素总数,里面的 3 个变量没有初始化
unsigned char y[3]={10,11,12}; //里面三个元素变量 y[0],y[1],y[2]分别初始化为 10,11,12
unsigned char i=0; //定义和初始化一个变量。用来做 x 数组的下标。
void main() //主函数
{
x[i]=25; //此时下标 i 0.相当于把 25 赋值 x[0]
i=i+1; //i 0 变成 1.
x[i]=26; //此时下标 i 1.相当于把 26 赋值 x[1]
i=i+1; //i 1 变成 2.
x[i]=27; //此时下标 i 2.相当于把 27 赋值 x[2]
x[i]=x[i]+1; //此时 x[2]自加 1 变成了 28
View(x[0]); //把第 1 个数 x[0]发送到电脑端的串口助手软件上观察。
View(x[1]); //把第 2 个数 x[1]发送到电脑端的串口助手软件上观察。
View(x[2]); //把第 3 个数 x[2]发送到电脑端的串口助手软件上观察。
View(y[0]); //把第 4 个数 y[0]发送到电脑端的串口助手软件上观察。
View(y[1]); //把第 5 个数 y[1]发送到电脑端的串口助手软件上观察。
View(y[2]); //把第 6 个数 y[2]发送到电脑端的串口助手软件上观察。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/
在电脑串口助手软件上观察到的程序执行现象如下:
开始...
1 个数
十进制:25
十六进制:19
二进制:11001
2 个数
十进制:26
十六进制:1A
二进制:11010
3 个数
十进制:28
十六进制:1C
二进制:11100
4 个数
十进制:10
十六进制:A
二进制:1010
5 个数
十进制:11
十六进制:B
二进制:1011
6 个数
十进制:12
十六进制:C
二进制:1100
分析:
变量元素 x[0]为 25。
变量元素 x[1]为 26。
变量元素 x[2]为 28。
变量元素 y[0]为 10。
变量元素 y[1]为 11。
变量元素 y[2]为 12。
【46.5 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改C 语言学习区域”代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口 51 习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。