先看一段程序:
在编译程序时,定义了整型变量a,相当于向电脑申请一块内存空间来存放a的值,内存单元的位置就作"地址"。通过取地址操作符 "&" ,对变量a进行 取地址(&a) 操作,可以拿到变量a的地址!
存放数值我们可以定义一个整型变量a,存放变量地址应该如何操作呢?
存放变量地址就需要引出另外一个概念"指针","指针"是一种特殊的变量类型,简称"指针变量"!指针变量里面存放的是内存地址,内存地址总是指向内存当中的一块空间,空间里面存放具体的某种类型数值!
看图理解指针变量:
指针就是地址,地址就是指针,对指针操作(*p),就是对地址操作:
指针的定义:
指针的使用:
运行结果:
为什么输出是空呢?
在这里我们使用了地址10000,使用之前我们并不知道该地址电脑是否允许被访问。如果可以被使用,那么输出结果,如果不允许被使用,那么输出失败!
另外一种方式,使用"&":
运行结果:
指针的赋值,赋值注意细节把控:
指针的运算
同类型指针变量相减,返回数值:
指针变量和整数相加减,返回地址:
指针变量自加自减:
指针与数组
指针变量下标运算:
指针变量下标运算与自加运算结合:
指针与函数
指针作为函数参数: