9月14号

指针
pointer
int *p
*p=10
这两项中尽管 *p的形式相同,但是两者的含义完全不同.
第一处是定义了指针变量,p是变量名,*表示其后的变量是指针
而后面的*p代表指针p所指向的变量

再如表达式p=p+1,++*p和(*p)++,都是讲指针p所指向的变量的值加1.而表达式*p++等价于(p++),先取p的值作为变道时的值,再将指针p的值加1*运算后,p不在指向变量a**

例如

int a=1,x,*p;
p=&a;
x=*p++

指针p先指向a,其后的语句x=*p++;将p所指向的变量a的值赋给变量x,然后修改指针的值,是的指针p不在指向变量a

切记

*p++,(*p)++,都是先取*p的值作为表达式的值,再将指针p的值加1,完成后不在指向变量


如果将某个变量的地址作为函数的实参,相应的形参就是指针

猜你喜欢

转载自blog.csdn.net/yang8627/article/details/82706691