指针分析(一)

指针,一直是C语言最难的话题,不通指针,不敢说自己熟悉C语言。那么就按照我个人的理解来说一下指针吧,如果还看不懂,那就没办法了,因为我的理解程度能够帮你以最清晰的角度去理解指针:

在32位操作系统下,不管是什么类型的指针,指针变量在该环境下占4个byte。

还要区分一个概念:野指针,什么是野指针?也就是没有具体的指向。

比如:

Int *p ; *p =100 ;

因为指针p没有分配相应的内存,所以给指针赋值,可能会引发段错误、

还有一种情况: int *p = NULL; *P = 100 ;这种情况一定会发生段错误,因为指向的地址编号为0,代表的是一个空指针。我们不能给空指针赋值,因为空指针没有地址,解引用必然会引发段错误。


好,那我们开始来分析一个例子。

 

&:取地址符

*:引用符

 

例如:

Int  a = 1 ;

Int  *p ;

P = &a ;


直接访问地址那就是直接访问,比如上面这种形式p = &a ; 如果说我定义一个**q ,去通过p再访问到a的值,那么**q这样的指针就是引用,属于间接访问的形式。 

画幅图来看看就清楚了:

 


由上图可以知道:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值