聊一聊C语言中的指针到底是什么?
大一的时候开始接触了C语言,但是至今为止,一直有一个糟糕的问题,困扰着我:C语言中的指针到底是啥?为什么感觉很难的样子?为什么即使我写了很多的C语言的代码,还是有可能会出现指针最基本的错误?不是说好的 “指针就是地址的吗”?为什么还有“指向int的指针”? “指向double的指针?”。
首先 基本大部分的初学者拿到有问题的概念的时候,都会先去问一下度娘的看法~:
指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。 ———— [ 百度百科 ]
好吧,说的很清晰,到此结束。。。
当然这是开个玩笑~
首先套用K&R的《The C Program Language》中的定义,“指针是一种保存变量地址的变量”