例6.1
# include<iostream>
using namespace std;
int main()
{
int a=10;
int*p;
p=&a;
cout<<"a="<<a<<endl;
cout<<"p="<<p<<endl;
cout<<"&a="<<&a<<endl;
cout<<"*p="<<*p<<endl;
cout<<"&p="<<&p<<endl;
cout<<endl;
*p=15;
cout<<"a="<<a<<endl;
cout<<"P="<<p<<endl;
cout<<"&a="<<&a<<endl;
cout<<"*p="<<*p<<endl;
cout<<"&p="<<&p<<endl;
return 0;
}
# include<iostream>
using namespace std;
int main()
{
int a[5]={1,2,3,4,5};
int *p[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};
for(int i=0;i<5;i++)
cout<<*p[i]<<'\t';
cout<<endl;
return 0;
}
例6.2
# include<iostream>
using namespace std;
int main()
{
int a,b;
int *p=&a,*q=&b,*tp;
cout<<"请输入两个数:";
cin>>a>>b;
if(a<b)
{
tp=p;p=q;q=tp;
}
cout<<"初始的两个数为:"<<a<<" "<<b<<endl;
cout<<"从大到小排序后的数为:"<<*p<<" "<<*q<<endl;
return 0;
}
例6.3
# include<iostream>
using namespace std;
int main()
{
int a,b,temp;
int *p=&a,*q=&b;
cout<<"please input a and b:";
cin>>a>>b;
cout<<"初始的两个数为:"<<a<<" "<<b<<endl;
if(a<b)
{
temp=*p;*p=*q;*q=temp;
}
cout<<"从大到小排序后的数为:"<<*p<<" "<<*q<<endl;
return 0;
}
例6.4
# include<iostream>
using namespace std;
int main()
{
int a=10,b=10,*ptr1,*ptr2;
ptr1=&a;
ptr2=&b;
cout<<boolalpha<<(*ptr1==*ptr2)<<endl;
cout<<boolalpha<<(ptr1==ptr2)<<endl;
return 0;
}
例6.5
# include<iostream>
# include<iomanip>
using namespace std;
int main()
{
int a[10];
for(int i=0;i<10;i++)
a[i]=2*(i+1);
for(i=0;i<10;i++)
cout<<setw(4)<<a[i];
cout<<endl;
return 0;
}
例6.11
# include<iostream>
using namespace std;
int main()
{
int a[5]={1,2,3,4,5};
int *p[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};
for(int i=0;i<5;i++)
cout<<*p[i]<<'\t';
cout<<endl;
return 0;
}
例6.12
# include<iostream>
using namespace std;
int main()
{
char a[]="computer system",b[]="hardware",c[]="software";
char *p[4];
p[0]=a;
p[1]=b;
p[2]=c;
p[3]=NULL;
for(int i=0;p[i]!=NULL;i++)
cout<<p[i]<<endl;
return 0;
}
例6.13
# include<iostream>
using namespace std;
int main()
{
char*weekname[]={"Sunday","Monday","Tuesday","Wednesday",
"Thursday","Friday","Saturday"};
int i;
while(1)
{
cout<<"please input week No.:";
cin>>i;
if(i<0||i>6)
break;
cout<<"week No."<<i<<"-->"<<weekname[i]<<endl;
}
return 0;
}
例6.15
# include<iostream>
using namespace std;
int main()
{
int a[2][3],*p[2];
int i,j;
p[0]=a[0];
p[1]=a[1];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
a[i][j]=j+i;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
cout<<"a["<<i<<"]["<<j<<"]:";
cout<<*(p[i]+j)<<endl;
}
return 0;
}
例6.19
# include<iostream>
using namespace std;
void display(int*,int*);
int main()
{
int a=5,b=10;
int*pa=&a;
int*pb=&b;
display(pa,pb);
return 0;
}
void display(int*p1,int*p2)
{
cout<<"parameter 1 is"<<*p1<<endl;
cout<<"parameter 2 is"<<*p2<<endl;
}
例子6.23
# include<iostream>
using namespace std;
int main()
{
int func(int a,int b);
int(*pf)(int a,int b);
pf=func;
cout<<"please input two integers:"<<endl;
int m,n;
cin>>m>>n;
int result=(*pf)(m,n);
cout<<"the result is"<<result<<endl;
return 0;
}
int func(int a,int b)
{
return a+b;