指针的本质是地址,数组的名称就是数组首位元素的地址。
我们称数组名为指针常量,所以对数组int a[]={0,1};来说,对a使用自增运算符a++,是不可以的,而a+是允许的,*(a+1)获得的就是数组第二个元素的值。
a+1代表第二个元素的地址。如果定义int *p=a;此时p就能获得a的作用,此时的p可以做自增运算,p++。
指针变量的取值与自增自减运算:
*p++;先取得p的地址,然后做p=p+1。等价*(p++);
*++p;先对p做p=p+1,然后取得p+1的地址。
++*p;针对*p做++运算,然后对*p做*p=*p+1;++与*具有相同的优先级,从右往左运算