指针变量的运算
指针变量可以进行某些运算,但其运算的种类是有限的。 它只能进行赋值运算和部分算术运算及关系运算。
指针运算符
(1)取地址运算符&
取地址运算符&是单目运算符,其结合性为自右至左,其功能是取变量的地址。
(2)取内容运算符*
取内容运算符*是单目运算符,其结合性为自右至左,用来表示指针变量所指的变量。在*运算符之后跟的变量必须是指针变量。
需要注意的是指针运算符*和指针变量说明中的指针说明符* 不是一回事。在指针变量说明中,“*”是类型说明符,表示其后的变量是指针类型。而表达式中出现的“*”则是一个运算符用以表示指针变量所指的变量。
指针变量的运算
指针变量赋值运算
指针变量的赋值运算有以下几种形式:
(1)指针变量初始化赋值。
(2)把一个变量的地址赋予指向相同数据类型的指针变量。例如:
int a,*pa;
pa=&a; /*把整型变量a的地址赋予整型指针变量pa*/
(3)把一个指针变量的值赋予指向相同类型变量的另一个指针变量。
(4)把数组的首地址赋予指向数组的指针变量。
(5)把字符串的首地址赋予指向字符类型的指针变量。
(6)把函数的入口地址赋予指向函数的指针变量。
其它
指针类型属于标量类型,因此也可以做逻辑与、或、非运算的操作数和if、 for、 while的控制表达式, NULL指针表示假,非NULL指针表示真。