初识指针

其实指针严格意义上来说就是地址。

打个比方来说,一个房间号的门口上挂了一个房间号为102,这个102就是房间的地址。因此,地址就可形象化的称为“指针”。通过102就能找到这个房间,通过这它就能找到以它为地址的内存单元。

例如进行如下变量定义:

       int a=10;

       int b=20;

此时定义了两个整形数据变量,a,b便是内存变量名,而10和20是内存变量的值,当进行如下操作时又是什么意思呢?

int *p=&a;   //定义p为整形指针变量,初始化保存整形变量a的地址

*p=100;      //对指针解引用,将100赋值给a

 p=&b;         //将b的地址赋给了p

*p=200;   //同样是解引用,将200赋值给b

//*p为间接访问符,又叫解引用,那么**p则为二级解引用,二级指针

int **p=&p;  //定义二级指针

*pp=&a;  //二级指针取a的地址

**pp=1000;   //对*pp进行解引用,把1000的值赋给a

这里咱们来写一个程序来实现 通过指针变量来访问变量(间接访问变量)

#include<stdio.h>
int ZZ()
{
int a=10,b=20,c=30,*p;  //定义p为整形指针变量并进行初始化赋值
p=&a;  //判断并使p指向值最大的变量
if(b>*p)  //对变量b与p指向的数据进行比较
p=&b;
if(c>*p) //对变量c与p指向的数据进行比较
p=&c;
printf("max=%d\n",*p); //间接访问p所指向的变量
return *p; //返回一个值
}
int main()
{
ZZ();
}

最终的运行结果当然是完成了 指针p对咱们定义的整形变量的访问,获得了数值。

指针不仅仅包括整型

char c='a';//即为字符变量保存字符值

int a=30;//整型变量保存整形值

float a=100;//浮点数据变量

在我们学习指针的过程中一定弄明白指针的定义和一些容易犯的过错,革命尚未成功,同志仍需努力。

 

 

   

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值