指针变量的初次小总结~对链表学习有一定的作用。

    接触C差不多一年多了,当我回首望去,对指针的理

解也越发的清晰....

    今天再来捋捋什么是指针呢?

    指针说白了,跟普通变量的唯一区别就是它的值存放的是与自

同类型的变量的地址。

eg:int a,*p=&a;


对于上一句声明的语句,*p=&a,这句代码的意思是,p的地址

存放着a的地址,即就是它的值是a的地址。你可以用*p输出a变

量的值同样你可以给指针随便赋值(即就是赋一个地址)的。

如 ,p=0x88;

这句话就是p存放的内容就是0x88这个地址。但是这时候你不能

再*p输出0x88这个地址的值了,为什么呢?因为这个地址是未

知的,这样的话*p会直接让系统崩溃掉。举得例子很好的说明了

所谓的指针变量就是存放地址的变量而已,没什么特殊的,如果

有的话,那就是,普通变量是直接存放值,而指针变量就是间接

存放值,什么意思啊?意思就是 它存放的是一个地址,间接才

可以拿到那个地址的值。

    以下代码有兴趣的朋友可以研究研究。注释我也说的很明白。

谢谢观摩,我先说的就这么多了,如果还有,我以后慢慢再补充

把。。哈哈~~我就是太无聊了,才喜欢写写这些没人感兴趣的

东西。


顺便说下,上面代码的意思,先是p指向a的地址,然后fun()函数改变了指针p的指向,由原来的a的地址变成了b的地址,所以输出的是 0跟2 .

这里,我还想说一句的是,注意下我为什么fun函数的实参 的p要取地址 ,&p呢?这个问题大家好好想想~~。

猜你喜欢

转载自blog.csdn.net/huijiaaa1/article/details/79772380
今日推荐