今天晚上好像吃多了,嗝
慢慢来,会好的
6.21
#include<iostream>
using namespace std;
int Compare(int num, int *p);
int main()
{
int temp = 9;
int bigger = Compare(5, &temp);
cout << bigger << endl;
system("pause");
return 0;
}
int Compare(int num, int *p)
{
return num > *p ? num : *p;
}
//这里指针的类型是int*
6.22
#include<iostream>
using namespace std;
void ExchangePoint(int *&p1, int *&p2);
int main()
{
int num1 = 18, num2 = 23;
int *num1_p = &num1;
int *num2_p = &num2;
cout << "交换前num1_p指向的对象是:" << *num1_p << endl;
cout << "交换前num2_p指向的对象是:" << *num2_p << endl;
ExchangePoint(num1_p, num2_p);
cout << "交换后num1_p指向的对象是:" << *num1_p << endl;
cout << "交换后num2_p指向的对象是:" << *num2_p << endl;
system("pause");
return 0;
}
//指针的值要改变时也是要引用传递的,这一点被我忽略,结果出来的时候我还在想,我是不是理解错了
//指针交换后,指向的对象就交换了
//虽然结果也是数值调换了,但这个原因是因为指针交换。
//int *&p的读法,&距离p较近,把&p看做是一个整体,p是一个引用,它的类型是int*,
//也就是说p是一个指针变量的引用
//
void ExchangePoint(int *&p1, int *&p2)
{
int *temp;
temp = p1;
p1 = p2;
p2 = temp;
}