本帖最后由 elecintop 于 2014-7-26 21:39 编辑
总结:
指针变量的值并非它所指向的内存位置所存储的值,而是保存了指向的变量的地址。需要通过间接访问符*来访问指向的变量的值。
单单声明一个指针,而并不进行初始化,是不会分配内存的。所以在指针执行间接访问之前,指针必需进行初始化。
要么指向某个变量、要么去malloc一个内存。
NULL指针就是不指向任何东西的指针。除了NULL指针之外,再也没有任何内建的记法标识指针常量。除非是用 volatile 0x00...这么命名,这在现在PC系统看来是不可想象的。在极少见的情况下,我们偶尔需要用到指针常量。
指针可以作为一个左值来用,因为指针标识了一个特定内存位置。
比如:ptr=¶;
*ptr=para;
在指针值上可以执行一些有限的算术运算。你可以把一个整型值加到一个指针上,也可以从一个指针减去一个整型值。在这两种情况下,这个整型值会进行调整,原值将乘以指针目标类型的长度。
|