例6.2输入a和b两个整数,按先大后小的顺序输出a和b #include <iostream> using namespace std; int main() { int *p1,*p2,*p,a,b; cin>>a>>b; pl=&a; /使p1指向a p2=&b; /∥使p2指向b if(a<b){p=pl;p1=p2;p2=p;} /p1与p2的值交换 cout长<“a=“<<a<<“b=“<<b<<endl; cout<<“max=“<<*pl<<“min=“<<*p2<<endl; return 0; 2017年4月26日12时 第6章指针 19 BACK NEXT
HOME2017年4月26日12时 15分 第6章 指针 19 #include <iostream> using namespace std; int main( ) { int *p1, *p2, *p, a, b; cin>>a>>b; p1=&a; //使p1指向a p2=&b; //使p2指向b if(a<b) {p=p1;p1=p2;p2=p;} //p1与p2的值交换 cout<<“a=“<<a<<“ b=“<<b<<endl; cout<<“max=“<<*p1<<“ min=“<<*p2<<endl; return 0; }
6.2.3指针作为函数参数 函数的参数可以是指针类型。它的作用是将一 个变量的地址传送给被调用函数的形参。 例6.3,同例6.2,要求用函数处理,函数参数 为指针。 2017年4月26日12时 H0座务 第6章指针 20 BACK NEXT
HOME2017年4月26日12时 15分 第6章 指针 20 函数的参数可以是指针类型。它的作用是将一 个变量的地址传送给被调用函数的形参。 例6.3 ,同例6.2,要求用函数处理,函数参数 为指针
#include <iostream> using namespace std; int mainO) void swap(int*pl,int*p2);/函数形参为指针 int *pointer_1,*pointer_2,a,b; cin>>a>>b; pointer 1=&a; /使pointer1指向a pointer 2=&b; /使pointer2指向b if(a<b)swap(pointer_1,pointer_2); cout<<"max="<<a<<"min="<<b<<endl; return 0; 2017年4月26日12时 H0座务 第6章指针 21 BACK NEXT
HOME2017年4月26日12时 15分 第6章 指针 21 #include <iostream> using namespace std; int main( ) { void swap(int *p1,int *p2); //函数形参为指针 int *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); cout<<"max="<<a<<" min="<<b<<endl; return 0; }
void swap(int *pl,int *p2) { pl(形参) pl(形参) &a &a a a pointer 1 Q pointer 1 45 pointer 1 78 pointer 1 &a 45 &a &a &a 78 pointer 2 b p2(形参) p2(形参) pointer 2 b &b 78 &b &b &b 45 b b pointer 2 78 pointer 2 45 &b &b (a) (b) (c) (d)
HOME2017年4月26日12时 15分 第6章 指针 22 void swap(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; } //交换a和b的值,p1和p2的值不变
void swap(int *pl,int *p2) int *temp; *temp=*pl; *pl=*p2; *p2=*temp; *temp虽然指一个内存单元中的值,但temp未初始化, 指向一个不确定的内存单元;程序编译将提出警告, 运行则出错。 2017年4月26日12时 0分 第6章指针 23 BACK NEXT
HOME2017年4月26日12时 15分 第6章 指针 23 void swap(int *p1,int *p2) { int *temp; *temp=*p1; *p1=*p2; *p2=*temp; } *temp虽然指一个内存单元中的值,但temp 未初始化, 指向一个不确定的内存单元;程序编译将提出警告, 运行则出错