c++ 指针的用法

a:普通变量,存的是值 10

  1. &a:取地址,得到 a 在内存中的位置

    2.p:指针变量,存的是 a 的地址

    3.*p:解引用,表示"取这个地址里的值",也就是 10

  2. &:取地址

  3. *:取值(解引用)例如:

cpp 复制代码
int a = 10;
int* p = &a;

二、指针的基本操作

1.访问和修改值

cpp 复制代码
int a = 5;
int* p = &a;

cout << *p;  // 输出 5

*p = 20;     // 修改 a 的值
cout << a;   // 输出 20
  1. 指针作为函数参数(非常重要)例如`
cpp 复制代码
void change(int* p) {
    *p = 100;
}

int main() {
    int a = 10;
    change(&a);
    cout << a; // 100
}
  1. 空指针(避免野指针)
cpp 复制代码
int* p = nullptr;

三、什么时候用指针?

当需要以下操作的时候需要用到指针

  1. 需要修改函数外变量
  2. 操作数组 / 字符串
  3. 动态内存管理
  4. 数据结构(链表、树)
相关推荐
平凡但不平庸的码农1 小时前
Go context 包详解
开发语言·后端·golang
江南十四行1 小时前
Python元类编程——从type到metaclass的深度探索
开发语言·python
众乐乐_20082 小时前
PHP 的进程 fork 机制
开发语言·php
yujunl2 小时前
U9 WCF调试的一个坑
开发语言
salipopl2 小时前
C++ 面试题:C++中 constexpr 函数的限制有哪些?
c++
lly2024062 小时前
Scala 模式匹配
开发语言
2zcode2 小时前
基于MATLAB卷积神经网络的多颜色车牌识别系统设计与实现
开发语言·matlab·cnn
无限进步_2 小时前
【C++】从红黑树到 map 和 set:封装设计与迭代器实现
开发语言·数据结构·数据库·c++·windows·github·visual studio
Hello eveybody2 小时前
介绍一下动态树LCT(Python)
开发语言·python·算法