指针运算包括自增

指针运算,
指针的赋值运算,
1,把一个变量的地址赋给具有相同数据类型的指针变量,

int a,*p;p=&a;

2,具有相同数据类型的两个指针之间可以相互赋值,

int a,*p,*q;p=&a;q=p;

3,其他常用的赋值运算
假设p1和p2是相同数据类型的两个指针变量,则以下赋值运算是合法的,

int a,b,*p,*q;p=&a;q=&b;
 p=q+n;q=p-n;
 p+=n;
 q-=n;

4,可以将一个数组的首地址赋给指针,

int a[7],*p;p=a;

指针的算术运算,
指针的算术运算实际是地址的运算,
指针运算只可以进行加减运算,
1,指针加减一个整数n,实际上就是往前或往后跳n下,跳的字节由数据类型决定,运算后的结果任然是一个地址,

2,两个指针相减,得到的是一个整数,这个整数所表示的意义是,这两个指针所代表的地址之间的数据个数,例如,在一个数组里让指向最后一个元素的指针和指向第一个元素的指针相减,就可以得到这个数组的长度,

3,自增,自减,他们都是从右向左进行结合的,且优先级相同
1,(*p)++:先取值后值加1。

2,*++p:指针p先加1,即p指向下一个数,后取出指向后的值;
3,++*p:同 (*p)++,他们两是等价的;
4,*p++:先取值,后让p++;

5,(*p)++:先取值,后让这个值加1;,

6,*(p++):先取值,后让p++;等价于4

猜你喜欢

转载自blog.csdn.net/weixin_43822669/article/details/90664806