指针和引用是C++中非常重要的两个概念,它们可以帮助我们更高效地操作内存。下面是一些关于指针和引用的应用案例:
- 指针的基本用法:
#include <iostream>
using namespace std;
int main() {
int a = 10;
int *p = &a; // 创建一个指向整型变量a的指针p
cout << "a的值:" << a << endl;
cout << "a的地址:" << &a << endl;
cout << "p的值(即a的地址):" << p << endl;
cout << "p指向的值(即a的值):" << *p << endl;
return 0;
}
- 引用的基本用法:
#include <iostream>
using namespace std;
void swap(int &x, int &y) {
// 使用引用作为参数
int temp = x;
x = y;
y = temp;
}
int main() {
int a = 10, b = 20;
cout << "交换前:" << endl;
cout << "a的值:" << a << endl;
cout << "b的值:" << b << endl;
swap(a, b); // 调用swap函数,传入引用a和b
cout << "交换后:" << endl;
cout << "a的值:" << a << endl;
cout << "b的值:" << b << endl;
return 0;
}
- 指针和引用的复合赋值:
#include <iostream>
using namespace std;
void update(int &x) {
// 使用引用作为参数
x += 5;
}
int main() {
int a = 10;
cout << "更新前:" << endl;
cout << "a的值:" << a << endl;
update(a); // 调用update函数,传入引用a
cout << "更新后:" << endl;
cout << "a的值:" << a << endl;
return 0;
}
- 指针和引用的数组操作:
#include <iostream>
using namespace std;
void printArray(int *arr, int size) {
// 使用指针作为参数
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int arr[] = {
1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
cout << "原数组:" << endl;
printArray(arr, size);
int *p = arr; // 创建一个指向整型数组arr的指针p
cout << "指针p指向的数组:" << endl;
printArray(p, size);
p++; // 指针p向后移动一个元素
cout << "指针p向后移动一个元素后的数组:" << endl;
printArray(p, size);
return 0;
}