一、指针
1. 指针的值是一个地址,通过间接寻址运算符*来区分地址与指针所指地址保存的值区分开。
一个变量的地址称为该变量的指针。
如果有一个变量是用来专门存放另一变量地址(即指针)的,则称它为指针变量。
要区分指针和指针变量!!!
*实际上是运算符重载(C++中提及),表示指向。
例如: int *p,i;
p = &i;
p的值是i的地址,*p的值为i的值。
指针的两个属性:内容和位置。
其中位置可以存储在另一个变量中,这样便成为了指向指针的指针。
a、指针变量的定义
基类型 *指针变量名;
可以这么说:指针变量名是指向基类型的指针变量。
所定义的指针变量是指向基类型的指针变量,或者说是指针变量只能存放基类型数据的地址。
要注意:不能用一个整数给一个指针变量赋初值。
b、引用指针变量
与指针变量有关的运算符:
&——取地址运算符
*——指针运算符,也称间接访问运算符
c、指针作为函数参数
最经典的例子是swap函数:
#include <iostream>
using namespace std;
int main()
{
void swap( int *p1,int *p2 );
int *po1,*po2,a,b;
cin >> a>>b;
po1 = &a;
po2 = &b;
if ( a < b )
swap( po1,po2 );
cout<<"max="<<a<<"min="<<b<<endl;
return 0;
}
void swap( int *p1,int *p2 )
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
在上例中,如果写成这样,就不对
void swap(