C++ 指针引用
#include<iostream>
using namespace std;
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
void swap_pointer(int *x, int *y)
{
int temp = *y;
*y = *x;
*x = temp;
}
void swap_ref(int &x, int&y)
{
int temp = y;
y = x;
x = temp;
}
int review_pointer()
{
int a = 5,b=6;
int *p = &a;
printf("number:%d address:%p \n", a, p);
printf("指针保存的值为:%d \n", *p);
int &ra = a, &rb = b;
p = arr;
for (int i = 0; i < 10; i++)
printf("%d ", *(p++));
printf("\n");
int val[10][10];
val[2][1] = 21;
cout << *(*(val + 2) + 1)<<endl;
cout << sizeof(val) /sizeof(int)<< endl;
cout << arr <<' '<< &arr << endl;
cout << arr + 1<<' '<<&arr + 1<<endl;
int x = 1, y = 2;
swap_pointer(&x, &y);
cout << x << ' ' << y << endl;
swap_ref(x, y);
cout << x << ' ' << y;
const int &z = x;
x = 3;
system("pause");
return 0;
}
int & set_value(int i)
{
return arr[i];
}