【摘要】:指针变量可以赋变量的地址值或“空”值。通过赋值运算,把同类型的一个指针变量的地址赋给另一个指针变量,从而使这两个指针指向同一个地址。由上面的叙述可知,定义的指针变量需要赋初值(初始化)。
1.给指针变量赋地址值
给指针变量赋地址值常见以下2种方法。
(1)通过地址运算符“&”获得地址值。
通过地址运算符“&”,求出运算对象的地址,把这个地址赋给指针变量。
例如:
(2)通过指针变量获得地址值。
通过赋值运算,把同类型的一个指针变量的地址赋给另一个指针变量,从而使这两个指针指向同一个地址。(www.xing528.com)
另外,通过标准函数也可以使指针变量获得地址值,即调用库函数malloc和calloc在内存中开辟动态存储单元,并把所开辟的动态存储单元的地址赋给指针变量。只不过这种方法不常使用。
2.给指针变量赋“空”值
NULL是在头文件stdio.h中定义的预定义符,NULL的代码值为0。可以给指针变量赋NULL值。例如:
此时,称p为空指针。p并不是指向地址为0的存储单元,而是具有一个确定的“空”值。语句“p=NULL;”等价于“p='\0';”或“p=0;”。
由上面的叙述可知,定义的指针变量需要赋初值(初始化)。初始化指针变量是将一个与指针变量类型一致的变量的地址赋给指针变量,也可以将同类型的一个指针变量赋给另一个指针变量。
例如:
在本例的开头处定义了指针变量p和p1,但它们并没有指向任何一个整型变量,只是提供指针变量,规定它们可以指向整型变量。然后使p指向i,使p1通过同类型的指针变量p获得变量i的地址(p1通过p间接指向i),最后三个printf函数的作用是相同的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。