从单片机基础到程序框架(全集 2019pdf版).pdf - 第265页
在电脑串口 助手软件上观 察到的程序执 行现象 如下: 开始... 第 1 个数 十进制:2 十六进制:2 二进制:10 第 2 个数 十进制:5 十六进制:5 二进制:101 第 3 个数 十进制:6 十六进制:6 二进制:110 第 4 个数 十进制:7 十六进制:7 二进制:111 第 5 个数 十进制:1 十六进制:1 二进制:1 第 6 个数 十进制:2 十六进制:2 二进制:10 第 7 个数 十进制:3 十六进制:3 二进…

unsigned char b;
unsigned char c;
unsigned char d;
void main() //主函数
{
pu8=&a; //指针与普通变量发生关联(或者说绑定)。
*pu8=2; //通过指针这个载体来处理 a 这个变量,此时 a 从原来的 0 变成了 2。
pu8=&Buffer[0]; //处理“装的地址”。把 Buffer[0]变量的地址装在指针这个载体里。
*pu8=1; //处理“装的地址的所在数据”。此时 Buffer[0]变成了 1。
pu8++; //处理“装的地址”。这里是“地址”自加 1,相当于指针此时装的是 Buffer[1]的地址。
*pu8=2; //处理“装的地址的所在数据”。此时 Buffer[1]变成了 2。
pu8++; //处理“装的地址”。这里是“地址”自加 1,相当于指针此时装的是 Buffer[2]的地址。
*pu8=3; //处理“装的地址的所在数据”。此时 Buffer[2]变成了 3。
pCu8=Cu8Buffer; //此行代码省略了“&和下标[0]”,等效于 pCu8=&Cu8Buffer[0];
b=*pCu8; //读“装的地址的所在数据”。b 等于 5。
pCu8++; //所装的地址自加 1,跟 Cu8Buffer[1]关联
c=*pCu8; //读“装的地址的所在数据”。c 等于 6。
pCu8++; //所装的地址自加 1,跟 Cu8Buffer[2]关联
d=*pCu8; //读“装的地址的所在数据”。d 等于 7。
View(a); //把第 1 个数 a 发送到电脑端的串口助手软件上观察。
View(b); //把第 2 个数 b 发送到电脑端的串口助手软件上观察。
View(c); //把第 3 个数 c 发送到电脑端的串口助手软件上观察。
View(d); //把第 4 个数 d 发送到电脑端的串口助手软件上观察。
View(Buffer[0]); //把第 5 个数 Buffer[0]发送到电脑端的串口助手软件上观察。
View(Buffer[1]); //把第 6 个数 Buffer[1]发送到电脑端的串口助手软件上观察。
View(Buffer[2]); //把第 7 个数 Buffer[2]发送到电脑端的串口助手软件上观察。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/

在电脑串口助手软件上观察到的程序执行现象如下:
开始...
第 1 个数
十进制:2
十六进制:2
二进制:10
第 2 个数
十进制:5
十六进制:5
二进制:101
第 3 个数
十进制:6
十六进制:6
二进制:110
第 4 个数
十进制:7
十六进制:7
二进制:111
第 5 个数
十进制:1
十六进制:1
二进制:1
第 6 个数
十进制:2
十六进制:2
二进制:10
第 7 个数
十进制:3
十六进制:3
二进制:11
分析:
a 为 2。
b 为 5。
c 为 6。
d 为 7。
Buffer[0]为 1。
Buffer[1]为 2。
Buffer[2]为 3。
【60.8 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改“C 语言学习区域”的代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口的 51 学习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。