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.子函数中除非传指针解引用别的都不能影响主函数。