指针的自增与自减

指针的自增与自减
刚学 理解起来稍微有点难
一步一步来:
先看代码
`#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main() {
int a[3] = { 2,7,8 };
int* p;
int j;
p=a;
j=*p++;
printf(“a[0]=%d,j=%d,*p=%d\n”, a[0], j, *p);

`
结果
a[0]=2;
因为int*p;==inta[3]里的第一位 之前已经说过取多少基于他是什么类型函数 他这里是int型整型 只取前四位 所以是j=2

又因为 后++ 在j=*p++运行完之后
p开始++ 这里的p之前取得是a[0]运算++后取得就是a[1]==7

计算技巧:任何时候都是把后加加去掉,第二步看优先级是否高于++

再来 改一下j=(*p)++
结果
在这里插入图片描述

(*p)换成a[0],p[0]也一样;j=*p;(*p)++,2==3 a[0]=3
看优先级 看到[]和()时候 它所指向的就是一个数组里的整型数

当没有[] 或者()时候那么它所指的就是数组而不是具体的整型数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值