1.指针的概念
- 直接访问:按变量地址存取变量的值。
- 间接访问:将变量地址放在另一变量中,通过读取后一个变量的值来访问前者
- 变量的地址称为该变量的指针
- 指针变量:专门用来存放另一变量地址的变量
什么是指针?
在程序中定义一个变量,在编译时就给它分配内存单元。系统根据程序中定义的变量类型,分配一定长度的空间。内存区的每一个字节有一个编号。

2.变量和指针
- 定义指针变量的一般形式
- 基类型 *指针变量名;
- 例:int *p;
引用
- &(取地址运算符)和*(指针运算符)
例:通过指针变量访问整型变量
#include <iostream> using namespace std; int main( ) {int a,b; //定义整型变量a,b int *pointer_1,*pointer_2; //定义指针变量 a=100;b=10; //对a,b赋值 pointer_1=&a; //把变量a的地址赋给pointer_1 pointer_2=&b; //把变量a的地址赋给pointer_2 cout<<a<<″ ″<<b<<endl; //输出a和b的值 cout<<*pointer_1<<″ ″<<*pointer_2<<endl; //输出*pointer_1和 *pointer_2的值 return 0; }
- 运行结果: 100 10
100 10
- 指针作为函数参数
- 函数的参数也可以是指针;在函数调用时,可以使用指针变量。
- 指针变量是一种特殊变量,用来指向另一个变量。为表示指针变量和它所指向的变量间的联系,在C++中用“*”表示指向。
- 例: i_pointer是一个指针变量,而*i_pointer表示其指向的变量
这两个语句作用相同:
i=3;
*i_pointer = 3;
<br />**3.指针作为函数参数**
- 函数的参数不仅可以是整型、浮点型、字符型等数据。还可以是指针类型,作用是将一个1变量的地址传送给被调用函数的形参。
- 例:即对两个整数按大小顺序输出。
#include <iostream> using namespace std; int main( ) { void swap(int *p1,int *p2); //函数声明 int *pointer_1,*pointer_2,a,b; //定义指针变量pointer_1,pointer_2,整型变量 a,b cin>>a>>b; pointer_1=&a; //使pointer_1指向a pointer_2=&b; //使pointer_2指向b if(a<b) swap(pointer_1,pointer_2); //如果a<b,使*pointer_1和 *pointer_2互换 cout<<″max=″<<a<<″ min=″<<b<<endl;//a已是大数,b是小数 return 0; } void swap(int *p1,int *p2) //函数的作用是将*p1的值与*p2的值交换 { int temp; temp=*p1; *p1=*p2; *p2=temp; }