参考:《C Primer Plus》
要说到指针,那为什么需要指针,请思考:
当你通过一函数,需要同时更改两个变量的值时,发现函数遇到return语句时函数运行结束,且只能返回一值,无法完成既定需求,那么就需要借助检索两个变量的地址,针对性地更改,才能完成既定任务。由此,可以看到指针的重要性。
一.指针的基本称谓
假设一个地址变量名为ptr,编写语句:ptr=&pooh;(即把pooh的地址赋给ptr)
对于这条语句,我们说ptr"指向"pooh。其中ptr为变量,&pooh为常量
二.间接运算符:*
间接运算符*可以找出存储在pooh中的值,也被成为“解引用运算符”。
注意:不能把间接运算符和二元乘法运算符(*)相混淆,虽然符号相同,但语法不同。
val=*ptr;(即找出ptr指向的值,并把值赋给val)
综上,相当于语句:val=pooh;
三.声明指针
声明指针时,必须指定指针所指向变量的类型,因为不同的变量类型占用不同的存储空间,一些指针操作要求知道操作对象的大小(long和float可能占用相同的存储空间 ,但他们存储数字却大相径庭)。

其中,类型说明符表明了指针所指向对象的类型,星号(*)表明声明的变量是一个指针。
(以第一条为例:pi为一个指针,*pi是int类型)
*和指针名之间的空格可有可无。通常,程序员在声明是使用空格,在解引用变量时省略空格。
注意:指针实际上是一个新的类型,不是整数类型,所以一些处理整数的操作不能用来处理指针,反之亦然。
1611

被折叠的 条评论
为什么被折叠?



