指针(pointer)的定义:在信息工程中,指针是一个用来指示一个内存地址的变量或中央处理器(CPU)中的寄存器(Register)。在 C 语言中,指针就是一个存储着变量地址的变量。
与指针相关的操作运算符
- &:地址运算符,后跟一个变量表示该变量的地址。比如:&foo 得到的是变量 foo 的地址。
- *:间接运算符,后跟一个指针名或地址表示存储在被指向地址中的值。比如;p = &foo, *p 为 foo 的值。
指针声明
因为指针是一个变量,其保存的变量地址的那个变量有相应的数据类型,不同的变量类型占用的储存空间大小不同,所以必须说明指针所指向变量的数据类型。指针的声明如下:
int * foo; // foo 是指向一个整型变量的指针
float * bar; // bar 是指向一个浮点变量的指针
类型标识符 int 说明被指向变量的类型,而不是此指针变量的数据类型,它是一种新的数据类型。星号(*)说明此变量是一个指针。代码书写规范:* 和指针名之间的空格可选,通常在声明时加上,作为间接运算符取值使用时省略。
指针在函数间的通信示例
[cc lang="c"] /* pointer.c -- 使用指针交换变量 */ #include========================分割线========================
理解指针的相关概念,弄清楚变量名称,地址和数值之前的关系至关重要。变量地址一般只由计算机处理,当然你也可以打印出来以满足好奇心。一般也只有低级语言(比较接近机器语言,如汇编和C)才有指针这一概念,面向对象语言如 Java 一般避免使用指针。

