zoukankan      html  css  js  c++  java
  • *p和++对p的影响和对*p的影响

    int a;

    int m;

    int *p = &a

    m = *p++<==> m  = *(p++);

    因为*(p++)先让p++,但是没遇到序列点之前,++的副作用没有产生,也就是p的值还没改变。然后将*p赋给m。

    先将*p赋给m,然后让p++m不变。

    1. m= *p++;先取*p的值赋给m,再让*p的值++

     

    m = ++*p;先让*p 1,在把*p 赋给mp的值没变。

    m = ++*p);

    m = *++p;先让1,在把*p赋给m

    m =*++p);

     

    总结:1.++挨着p则改变p的值,*p的值不变,否则改变*p的值,p的值不变,除非*p被小括号括起来了,把*p当成一个整体来看改变的是*p的值。

         2. 以p为中心先向左计算再向右计算。

     

  • 相关阅读:
    我们是如何实现DevOps的
    cmp命令
    全排列II
    chown命令
    两个数组的交集II
    MVVM模式的理解
    chmod命令
    路径总和
    cat命令
    跳水板
  • 原文地址:https://www.cnblogs.com/vhwuln/p/3502747.html
Copyright © 2011-2022 走看看