天呐,终于搞清楚C语言里指针的实质了

天呐,终于搞清楚C语言里指针的实质了

1、指针其实也是可以当作普通变量使用的

*表示指向(指针)

例如第一部分p=a,当a的值赋给p之后,p中存放的值也就是3; (这时的p就相当于一个普通的int型变量)

所以此时如果*p就表示:输出存放在地址为3的位置的内容,

估计这个地址不存在,导致程序无法正常运行;

 

2、&是取地址符,普通的变量也可以用来存放地址(如图中第三部分a=&c:a就存放了c的地址),

然后也可以输出这个地址(仅仅是输出地址名称);

但因为a不是指针类型的变量所以 在  a=&c后,

是不可以用*a来输出c的地址里面存放的内容的(也就是2);  <<< 这点也是指针与普通变量的区别所在 >>>

 

至于之后关于C语言与C++运用指针的区别(例如在传参过程中的&的意义),就等之后再学习吧!