浅淡C语言指针(地址)

文章详细介绍了C语言中的指针概念,包括指针变量是存储地址的变量,指针的使用方式,指针的加减运算以及可能出现的野指针问题。此外,还探讨了二级指针和数组指针的应用,强调了数组名在某些情况下的特殊性。文章最后提到了未来的讨论方向,如指针数组、函数指针等。
摘要由CSDN通过智能技术生成
  • 在c语言中地址就是指针,而我们口头所说的指针大多数指的是指针变量
  1. 有空间才会有地址,而一个字节就有一个地址;(如图)
  2. 地址是由小到大的

这里就不继续谈地址了多谈谈指针

一:什么是指针变量

  • 每个变量都有地址,而把一个变量a的地址放到另一个变量p中,那么我们就说这个存放地址的变量p是指向变量a的指针变量(如图)

 二:指针的应用

  1. 当指针变量声明好后就可以用符号 * 来应用了(如图)

 

 三:指针的加减整数

  1. 指针(地址)是可以加减整数的看下图

 这时候就有疑问了,为什么35行和36行没有取地址符号 & 为什么还能拿到首元素地址?
因为在大部分情况下数组名代表为首元素地址
只有两种情况下数组名才代表整个数组 看下图

 

 三:野指针(指向不属于本程序所拥有的的空间的指针)

  • 当了解完指针的加减整数后,特别容易出现现野指针(如图)

 当然野指针出现的地方不只这两种情况而是非常多的地方,这里就不多说了;

野指针的本质就是一个指向了一个不属于本程序或者已经销毁(释放)的空间的指针

 四:2级指针的概念与应用

  • 2级指针即存放(指针变量地址)的指针 如图
  • 2级指针的应用方法 如图

 当然指针是可以无限嵌套下去的,比如3级指针(存放2级指针变量地址的指针)、4级指针(存放3级指针变量地址的指针),我就不继续向下讨论了,有兴趣的可以自己了解一下。

五:数组指针

  • 数组指针即一个指针变量指向一个数组(存放了一个数组首元素地址的指针)(如图)

  1.  数组指针的应用要与指针加减结合应用(如图)

 

  •  地址的比较方法(如图)

由于今天时间不多了更新的内容就这些了,下次更新以下内容

数组指针后还有指针数组(存放指针变量的数组)、指针数组指针(存放指针数组首元素的地址的变量)还可以嵌套下去。

函数指针(存放函数的地址的变量),函数指针数组(存放函数指针的数组),函数指针数组指针,(存放函数指针数组首元素地址的指针),还可以向下嵌套

如果内容有什么写错了欢迎评论批评纠错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值