指针的学习
指针的使用分为以下几种
指针声明和初始化
int value = 10;
int* ptr = &value; // ptr是一个指向int类型的指针,指向value的地址
指针解引用
std::cout << *ptr; // 输出ptr指向的值,即10
指针算术
int arr[5] = {1, 2, 3, 4, 5};
int* ptr = arr; // ptr指向数组的第一个元素
std::cout << *(ptr + 2) << std::endl; // 输出3,因为ptr + 2移动到数组的第三个元素
std::cout << *ptr << std::endl; // 输出1,ptr指向数组的第一个元素
指针和数组
int* ptr = new int[5]; // 分配一个包含5个int的数组
for (int i = 0; i < 5; ++i) {
ptr[i] = i + 1;
}
delete[] ptr; // 释放内存
指针和函数
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 5, y = 10;
swap(&x, &y);
std::cout << "x: " << x << ", y: " << y << std::endl; // 输出x: 10, y: 5
return 0;
}