zoukankan      html  css  js  c++  java
  • *p++、(*p)++、*++p、++*p有什么不同(从大一写的QQ空间迁移过来)

    int a[5]={1,2,3,4,5};
    int *p = a;

    *p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1;

    cout << *p++; // 结果为 1

    cout <<(*p++); // 1 

    执行后a[5] = {1,2,3,4,5}

    ============================

     //下面两种情况相同

    (*p)++ 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
    cout << (*p)++; // 1
    cout <<((*p)++) //2

    执行后a[5] = {2,2,3,4,5}

    ============================


    ++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
    cout <<++*p; // 2 
    cout <<(++*p) //2
    执行后a[5] = {2,2,3,4,5}


    ============================


    前三个都是先取出p指向的数值
     
    *++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值
    cout << *++p; // 2
    cout <<(*++p) //2

    ============================
     

    注意:上面的每条cout输出,要单独输出才能得到后面的结果。




    ========================================Talk is cheap, show me the code=======================================

    CSDN博客地址:https://blog.csdn.net/qq_34115899
  • 相关阅读:
    网页字体大小控制
    表格文本框搜索匹配
    表格展开和关闭
    表格复选框控制行高亮
    jquery表单验证
    文本框变大变小效果--jQuery
    滚动条高度变化jQuery
    点击标题显示隐藏效果--jQuery
    jQuery练习2-1
    jQuery练习2
  • 原文地址:https://www.cnblogs.com/lcy0515/p/9179844.html
Copyright © 2011-2022 走看看