指针是C的一个分支,居然要拿书来学,纯粹是浪费钱财.
指针不难,一点没有难度,或许你搞不明白是因为不了解内存什么的东西.
想学计算机,光学语言,是完全不够的,要了解计算机的结构.
内存里保存了几个G的东西,想要使其有价值,首先一点,就是要在必要的时候,找到合适的数据.
一堆数据,要如何能被准确的找到呢?
内存将数据安放在某个固定的位置,而这个位置,有一个唯一而确定的编号.
就像座位号一样,找到座位号,就可以找到座位,同时座位上的数据,也就触手可及了.
而这个座位号,就是所谓的"指针"了,所谓指针变量,就是用来保存这个座位号的变量.
每个变量都有意义,整型变量表达一个整数,字符变量表达一个字符(其实也可以当作整数用).
而指针,指针变量保存了某个地址,自然,它的意义就是某个座位.
通过指针可以找到某个座位,进而可以找到座位上的数据.
在内存中,地址(前面所说的座位号)是线性排列的(就是0 1 2 3 4 5 .......),指针可以进行偏移,就是从1,往后挪几位指向另一个位置3.
这样的操作,使得指针变量可以进行加减法,用来偏移寻址.
但是虽然指针也是一串有特殊意义的数字,但是针对指针这个身份来讲,乘除法毫无意义,所以对指针变量,是不能这么做的.