博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
指针分析(一)
阅读量:7235 次
发布时间:2019-06-29

本文共 484 字,大约阅读时间需要 1 分钟。

指针,一直是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这样的指针就是引用,属于间接访问的形式。 

画幅图来看看就清楚了:

 

由上图可以知道:

 

你可能感兴趣的文章
Binary Tree Traversals
查看>>
安装 Node.js
查看>>
滚动条的控制
查看>>
glibc库函数,系统调用API
查看>>
【kruscal】【最小生成树】【离线】洛谷 P2266 爱的距离
查看>>
mysql定时备份
查看>>
c++ opencv 动态内存
查看>>
HDU 1075 - What Are You Talking About
查看>>
HDU 6068 - Classic Quotation | 2017 Multi-University Training Contest 4
查看>>
HDU 6088 - Rikka with Rock-paper-scissors | 2017 Multi-University Training Contest 5
查看>>
关于JavaScript对象的键和值
查看>>
Qt with OpenCascade
查看>>
redis理解
查看>>
ELK大流量日志分析系统搭建
查看>>
Python之路【第二十八篇】:生成器与迭代器
查看>>
2017 Multi-University Training Contest - Team 1
查看>>
C语言遇到的小问题
查看>>
webpack学习笔记--其它配置项
查看>>
霍纳规则解决多项式的求值问题
查看>>
哈夫曼编码测试
查看>>