指针是能够存放一个地址的一组存储单元(通常是两个或四个字节)。
一元运算符*是间接寻址或间接引用运算符,当它作用于指针时,将访问指针所指向的对象。我们在这里假定x与y是整数,而ip是指向int类型的指针。下面的代码段说明了如何在程序中声明指针以及如何使用运算符&和*:
int x = 1,y = 2,z[10];
int *ip /* ip是指向int类型的指针 */
y = &x; /* y的值现在为1 */
*ip = 0; /* x的值现在为0 */
ip = &x[0] /* ip现在指向z[0] */
变量x、y与z的声明方式我们已经在前面的章节中见到过。我们来看指针ip的声明,如下所示:
int *ip
这样声明式为了便于记忆。该声明语句表明表达式*ip的结果是int类型。这种声明变量的语法与声明该变量所在的表达式的语法类似。