指针的逆向

指针操作技巧

 

1 运算时一定要先把地址存入指向单字节指针中,这样指针运算时的+1才是加上一个地址

 

2要取单字节就将地址存入指向单字节指针中,要取四字节就将地址存入指向四字节的指针中,之后用指针[0]输出即可

 

3 指针的感觉:

 

 

 一级指针

存了变量 &结构体的地址

OnePoint

输出变量&结构体的地址

OnePoint->Var

输出结构体变量的某个成员

OnePoint[5]

输出变量数组中的第5个变量

OnePoint[5].Var

输出结构体数组中的第5个结构体的Var成员

 二级指针

存了指针变量的地址

TwoPoint

输出指针变量的地址

TwoPoint[5]

输出指针变量数组中的第5个指针变量

TwoPoint[5]->Var

输出指针变量数组中的第5个指针变量指向的结构体的Var成员

 

4一看到,就想到:

 

int **point:想到该变量保存的是一个指针的地址

int *point:想到该变量保存的是一个变量的地址

*point想到对ponint保存的地址所指向的存储单元进行输出&赋值操作

NodeData->LostNext->Buffer:NodeData&LostNext存的都是一个地址,这个地址隶属于指针&结构体的首地址




在例子AB中,因为majorfunction是个数组,而t不是数组,所以二者加了[ ]的效果不同。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值