概述
指针在C语言中具有十分高的地位。掌握指针的使用方法是一个C语言程序员应该具有的基础技能。总之,指针十分重要。很多初学者对于这一部分的知识表示很难理解,由此可见指针是C语言学习的一个难点。本文尝试用类比和举例的方法帮助各位初学者朋友理解指针。
什么是指针?
以下这段话源自谭浩强的《C语言程序设计》,给出了指针的具体定义。
对每一个变量,它在内存中都有一个存储位置,这个位置就是该变量的地址,对变量值的存取是通过地址进行。在C语言中这个地址被形象化地称为“指针”。
由上面的这段话可以得知,指针的本质其实是地址,指针变量就是存放另一变量的地址。我们可以利用指针直接对内存进行操作,利用存放变量的地址找到变量。举一个贴近生活的例子,把一个地区比作内存,房子比作指针,居民比作变量。我们要在内存找一个变量,可以根据指针。就如在一个地区要找一个人,我们可以通过寻找这个人的住址把这个人造出来。一般来说,地址是不会轻易改变的。如果我们需要指定某些特定的内存地址存储的变量进行某些操作,都会利用到指针。这就好比A住在房子甲,街道需要房子甲的住户打扫门前卫生,这时可以通过地址找到A打扫卫生。如果A在某天搬到房子乙,而B住进了房子甲。打扫房子甲门前卫生的就是B,打扫房子乙门前卫生的就是A。
使用指针的好处
说到指针的好处,网上很多的大神也提过。由于本人实践的经验不多,一些未验证过的观点在此就不作太多介绍。只对一下两点作出解释。
指针可以提高效率。C语言是一种偏底层的语言,为了更直接对内存进行操作,必须使用指针。因为指针是