基于proteus的51单片机仿真实例四十九、C语言数组的指针演示实例
来源:互联网 发布:mac版inode如何上网 编辑:程序博客网 时间:2024/06/08 14:20
1、指向数组的指针
一个变量有地址,一个数组元素也有地址,所以可以用一个指针指向一个数组元素。如果一个指针存放了某数组的第一个元素的地址,就说该指针是指向这一数组的指针。数组的指针即数组的起始地址。例如:
unsigned char a[]={0,1,2,3};
unsigned char *p;
p=&a[0];将数组a的首地址存放在指针变量p中。
经上述定义后,指针p就是数组a的指针。C语言规定,数组名代表数组的首地址,也就是第一个元素的地址。所以p=&a[0];可以写作p=a;
p指向数组a的首地址后,p+1就指向数组的第二个元素a[1];依此类推,p+i指向第i个元素。
引用数组元素可以用数组元素的下标(如a[i]),但使用指针速度更快,且占用内存少。这也是使用指针的优点和精华所在。
2、本实例使用指针数组控制P0口的8位LED循环点亮。
3、在keil c51中新建项目ex38,编写如下程序代码,编译并生成ex38.hex文件。
//实例38:用数组的指针控制P0口的8位LED循环点亮
#include <reg51.h> //包含头文件
void delay(void) //延时函数
{
unsigned char i,j;
for(i = 0;i < 250;i++)
for(j = 0;j <250;j++);
}
void main(void)
{
unsigned char i;
unsigned char num[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//定义一个数组,并初始化
unsigned char *p; //定义一个指针
p=num; //指针初始化,将数组num的首地址存入指针p
while(1)
{
for(i = 0;i < 8;i++) //循环8次
{
P0 = *(p+i); //*(p+i)的值等于num[i],通过指针引用数组元素的值
delay();
}
}
}
4、在proteus中新建仿真文件ex38.dsn。原理图如下图所示
5、将ex38.hex文件载入at89c51中,启动仿真,观察运行结果。某一时刻的运行结果如下图所示。
- 基于proteus的51单片机仿真实例四十九、C语言数组的指针演示实例
- 基于proteus的51单片机仿真实例四十八、C语言的指针数组演示实例
- 基于proteus的51单片机仿真实例四十七、C语言的指针演示实例
- 基于proteus的51单片机仿真实例四十二、C语言的二维数组演示实例
- 基于proteus的51单片机仿真实例四十三、C语言的字符串数组演示实例
- 基于proteus的51单片机仿真实例二十七、C语言的语句演示实例
- 基于proteus的51单片机仿真实例四十四、C语言的结构体演示实例
- 基于proteus的51单片机仿真实例四十五、C语言的共用体演示实例
- 基于proteus的51单片机仿真实例四十六、C语言的枚举类型演示实例
- 基于proteus的51单片机仿真实例二十一、C语言的自增和自减运算演示实例
- 基于proteus的51单片机仿真实例二十八、C语言的if条件语句演示实例
- 基于proteus的51单片机仿真实例三十三、C语言的goto无条件转移语句演示实例
- 基于proteus的51单片机仿真实例四十一、C语言的一维数组
- 基于proteus的51单片机仿真实例十二、51单片机的C语言程序结构
- 基于proteus的51单片机仿真实例二、关于proteus
- 基于proteus的51单片机仿真实例三十、C语言的for循环语句
- 基于proteus的51单片机仿真实例三十一、C语言的while循环语句
- 基于proteus的51单片机仿真实例三十二、C语言的do-while循环语句
- 基于proteus的51单片机仿真实例四十八、C语言的指针数组演示实例
- 生产者消费者模式
- 梦想
- POJ 1054 The Troublesome Frog 笔记
- 机器学习法则:(谷歌)机器学习工程最佳实践(译)
- 基于proteus的51单片机仿真实例四十九、C语言数组的指针演示实例
- Redis源码剖析和注释(十八)--- Redis AOF持久化机制
- MySQL 性能优化的最佳20多条经验分享
- 第五次作业
- GCC无法打开并写入文件
- JAVA基础---标识符 继承
- 使用wait和notifyAll实现生产者消费者模型
- leetcode解题报告11. Container With Most Water
- 基于proteus的51单片机仿真实例五十、51单片机的P1、P2、P3口的工作原理