【C++】指针

C++ 指针学习笔记

1. 指针的基本概念

  • 作用:指针是一个存储变量内存地址的变量,可以用来间接访问和操作内存中的数据。
  • 声明:使用 * 符号来声明指针变量,指针变量存储的是所指向变量的地址。

示例代码

int* ptr; // 声明一个整型指针变量

2. 指针的初始化

  • 空指针:将指针初始化为 nullptrNULL 表示该指针不指向任何有效的内存地址。
  • 指向变量:将指针初始化为某个变量的地址。

示例代码

int* ptr = nullptr; // 初始化为空指针
int num = 10;
int* ptrToNum = # // 初始化为 num 的地址

3. 指针的解引用

  • 作用:通过指针访问所指向内存地址的值,使用 * 运算符进行解引用操作。
  • 修改值:可以通过解引用操作修改所指向内存地址的值。

示例代码

int num = 10;
int* ptr = # // ptr 指向 num 的地址
int value = *ptr; // 解引用 ptr,获取 num 的值
*ptr = 20; // 修改 num 的值为 20

4. 指针的算术运算

  • 指针加法:指针加上一个整数值,会将指针移动对应字节大小的内存地址。
  • 指针减法:指针减去一个整数值,同样会移动指针对应字节大小的内存地址。

示例代码

int arr[] = {1, 2, 3, 4, 5};
int* ptr = arr; // 指向数组第一个元素的指针
ptr++; // 指针移动到下一个元素的地址

5. 指针和数组

  • 数组名和指针:数组名在大多数情况下会被隐式转换为指向数组首元素的指针。
  • 指针遍历数组:可以通过指针对数组进行遍历,实现数组的访问和操作。

示例代码

int arr[] = {1, 2, 3, 4, 5};
int* ptr = arr; // 指向数组第一个元素的指针
for (int i = 0; i < 5; ++i) {
    cout << *(ptr + i) << " "; // 使用指针遍历数组
}

通过学习和理解指针的概念、初始化、解引用和算术运算,我们可以更好地进行内存管理和数据操作,提高程序的灵活性和效率。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值