C语言指针介绍

指针是c语言的一个重要概念,也是c的一个重要特色,因而灵活运用指针它,可以使程序简洁,紧凑,高效。每一个学习c语言的人,都应该掌握指针。可以说,不掌握指针就没有掌握c的净化。
一 指针是什么
想知道什么是指针必须知道数据在内存中是如何存储的,又是如何读取的。
c语言编译系统会为每一个定义的数据分配内存(例:整形会被分配四个字节),内存区的每一个字节都都有一个编号(32位机器共有从0321*32个编号,64位机器有0*64164个编号),这个编号就是一个“地址”。类似与宾馆中房间号,你可以通过任意的房间号,找到对应房间里的东西,同理,你可以通过地址,找到地址下的数据。
由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。比如,一个房间挂着264号,这个264就是房间的地址,或者说264指向该房间。因此,将地址形象的称为“指针”(一种指向),意思是通过它能找到以它为地址的内存单元。
【注】在C语言中,数据是有类型的,不同类型的数据会被分配不同长度的存储单元,如果只指定地址,不指定大小是无法取出数据的,因为不知道是从一个字节获取信息还是从二个字节获取信息,故后续需要定义指针的类型。
首先需要说明的是对变量的访问都是通过地址进行的
假如有语句
printf(“%d”,i);
由于已经对i按整形分配了4个字节的单元,并建立了变量名和地址的对应表,因此在执行上面的语句时,先通过变量名找到相应的地址,从该4个字节中按照整形数据的存储方式读出变量i的值,然后按十进制格式输出。
这种直接按变量名进行的访问,称为“直接访问”。
还可以通过“间接访问”的方式,获取变量的值:即将i的地址存放在另一个变量中,通过该变量访问i的值。
假设定义一个可以存放地址的变量point,并将i的地址存放在point中:
point=&i; //将i的地址放在变量point中
想要得到i的值可以通过直接访问的方式也可以通过间接访问的方式访问。

指向是通过地址来实现的。
由于通过地址能找到所需的变量单元,因此说,地址指向该变量单元。将地址形象的称为指针。意思是通过它能找到以它为地址的内存单元。
如果有一个变量专门用来存放另一变量的地址,则它就是“指针变量”,上述的point就是一个指针变量。指针变量的值是地址(即指针)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值