一段代码给你拎清楚!!!
#include <iostream>
using namespace std;int main ()
{int num[5]={1,2,3};int * p,q;for(int n=0;n<5;n++)cout<<num[n]<<' ';//赋值的各种方法p=num;*p=10;//给首地址赋值p++;*p=20;//指针后移赋值法p=num+2;*p=30;//首地址表示地址法p=&num[3];*p=40;//通过&得到元素地址p=num;*(p+4)=50;//直接通过指针表示cout<<"\nwe've changed the array!"<<endl;for(int n=0;n<5;n++)cout<<num[n]<<' ';//正文在这:num=10,20,30,40,50p=num;cout<<"\n*p:"<<*p<<endl;//p地址所储存的数值cout<<"*p++:"<<*p++<<endl;//*p首位置存储的数值,然后p++指针后移指向下一个位置;q=*p;cout<<"q:"<<q<<endl;//此时p指向20cout<<"(*p)++:"<<(*p)++<<endl;//*p下标为1位置存储的数值,然后*p的值加1q=*p;cout<<"q:"<<q<<endl;//验证状态cout<<"*++p:"<<*++p<<endl;//p++指针后移指向下一个位置,然后*p取到下标为2位置存储的数值q=*p;cout<<"q:"<<q<<endl;//验证状态cout<<"++*p:"<<++*p<<endl;//*p取到下标为2位置存储的数值,然后*p的值加1,等同于(*p)++q=*p;cout<<"q:"<<q<<endl;//验证状态
}