本文章主要介绍指针变量的简单应用,针对初学者。
通过本示例理解以下两点:
1.理解指针变量是什么。
2.指针变量的定义,取值和赋值操作。
程序编写完成后,启动仿真查看结果:
语法:ADR(变量),如:ADR(nIntValue),nIntValue为INT类型变量,函数的作用是获取变量的指针值。
观察上图可发现,指针变量【PointVar_int】为【16#000001E53A97097C】,此值为内存地址值,指针变量【PointVar_byte_high】为【16#000001E53A97097D】,即【16#000001E53A97097C】+1,此内存地址为下一个字节的内存地址值,说明在内存地址中的最小单位为字节。因此指针的本质就是内存地址,也是一个具体的数值。
语法:指针变量+^,如:PointVar_byte_low^,PointVar_byte_low为指向INT的指针变量。
即直接访问指针变量所指向的值,使用此方法尝试直接修改指针所指向的值,并仿真运行。
上图可以发现,两个BYTE变量的值依然时16#78和16#56,但是INT变量的值变成了16#5600,而并非16#5678,这是由于最后一条指令通过直接寻址的方式,直接修改了INT变量“【nIntValue】”的值。