浅析指针

1.指针中*的作用:只用于解应用或者在定义时使用。

2.指针在32位平台下所有类型指针均为4个字节,所有类型在64位平台下均为8字节。

3.为了方便理解有如下程序便于理解:

int a=10;int b=20;int c=30;int d=40; int *p=&d;

*p=100;//将d的值变为100;p=&c;//p指向c;

int **pp=&p;//二级指针

*pp=&c;//p中的值变为c的地址;**pp=600;//将600赋值给c;

4.在函数调用子函数时,子函数能修改父函数中的内容的前提是传指针或者解引用。

5.指针的算数运算

1)指针的加法:指针的加法需要调整,调整的权重是指针本身去掉一个*号,再求sizeof();例如:int *p;p+1加4个字节

double *p; p+1加8个字节。

2)指针的减法与指针加法类似。

3)指针不能加指针

4)但是指针可以加指针:步骤:1.算出两个指针间隔字节数;2.除以调整的权重,调整的权重是指针本身去掉*后求sizeof

  不同类型不能相减

6.子函数中除非传指针解引用别的都不能影响主函数。



猜你喜欢

转载自blog.csdn.net/Monster7559/article/details/79514115