*和++使用详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/itworld123/article/details/79955932
2018-04-16  创建人:Ruo_Xiao
邮箱:xclsoftware@163.com
  1. 二者优先级相同,都属于单目运算符,结合方向是从右向左
  2. 栗子:注意,上面的每条cout输出,要单独输出才能得到后面的结果。
#include <string>
#include <iostream>
using namespace std;

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

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

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

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

    cin.get();
    return 0;
}
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页