C语言笔记-二级指针变量与指针变量的关系

二级指针变量与指针变量的关系

引言

上一节《一级指针变量与变量的关系》简单地描述了一级指针变量的定义,并简易做了举例应用说明。下面继续探讨学习二级指针变量。

提示:以下是本篇文章正文内容,下面案例可供参考

一、回顾一下什么是一级指针变量

1.引入课本教案,对指针变量的定义是:变量的地址就变量的指针,存放变量的指针的变量称为指针变量。
2.这里按照个人理解一级指针变量的含义:指针就是指向一个特定内存地址的一个变量。顾名思义,指针变量是一种特殊的变量,存放的是数据(变量)的地址,即指针变量表示地址。

二、描述二级指针

1.定义:指向指针数据的指针变量,称为指向指针的指针,即二级指针变量。
2.一般形式:基类型 *(*指针变量名)

例如: unsigned char * (*PB0) ;

解析:1.在常见的一级指针 unsigned char *PB0 , PB0是一个指向字符类型的指针变量,存储变量的指针(即变量的地址);
2.对于二级指针变量unsigned char *(*PB0)有:PB0是一个指向字符型指针数据的指针变量,*PB0代表指向字符类型的指针变量,存储变量的指针(即变量的地址);**PB0代表指向变量地址上的数据。
3.用表格来描述二级指针变量所指向的指针数据的关系:如下

在这里插入图片描述
分析:
1.变量的值:PA0 = 139;其地址为:&PA0 = 0X000001;
2.根据定义:变量的地址就变量的指针,存放变量的指针的变量称为指针变量,即存放的是数据(变量)的地址,有PA1 = (unsigned char *)0X000001 = &PA0 ;
3.根据二级指针的定义:指向指针数据的指针变量,称为指向指针的指针。那么有:
3.1. PA2 = &PA1 = 0X00000B; //二级指针存放一级指针的地址,即PA2指向PA1的;
3.2. *PA2 = *(&PA1) = *(unsigned char *)0X00000B = 0X000001(PA1的存储数据) = PA1 = &PA0; 这是对二级指针进行一次运算的结果,*PA2最终是等于 PA0的地址(&PA0 == 0X000001) 。
3.3.**PA2 = **(&PA1) = **(unsigned char *)0X00000B = *(unsigned char*)0X000001(PA1的存储数据) = *PA1 = *(&PA0) = PA0 = 139; 对二级指针再进行一次运算的结果,**PA2最终是等于 PA0的存储数据(PA0 == 139)。

结论:由*PA2 = &PA0 = (unsigned char *)0X000001;,**PA2 = PA0 = 139;可知,指向指针的指针是指向指针数据的指针变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值