编辑代码

// NOTE 1. 作用:
// 1. 提高编译效率和执行速度 程序更加简洁
// 2. 动态内存分配
// NOTE 2. 措施:

// NOTE 3. 概念:
// NOTE 4. 来源:
// NOTE     1.
// NOTE 5. 适用场景:

#include <bits/stdc++.h>
using namespace std;

void InitPoint();
void DeletePoint();

int main() {
  InitPoint();
  return 0;
}

void InitPoint() {
  // HINT 1. 声明指针
  // p_updates的类型是  1. 指向int的指针或int* 2. 地址
  // *p_updates的类型是 1. int类型 2. 变量
  int* p_updates;  // NOTE C++写法 强调p_updates是一个指针 *解引用
  int* p;          // NOTE C写法 强调*p是一个int类型

  // HINT 2. 通过&取地址符初始化指针
  int higgens = 5;
  int* pt = &higgens;  // NOTE 将higgens的地址赋值给pt这个指针
  cout << "初始化地址: " << endl;
  cout << "higgens的地址为: " << &higgens << " " << pt << endl;

  
  // BUG 使用*之前 必须将指针初始化一个确定的地址 
  // BUG int* fellow;
  // BUG *fellow = 20; fellow被随机分配了一块地方 但这块地方可能并不是用来存储20这个值的
      

  // HINT 3. 将一个地址赋值给指针
  int* p2;
  p2 = (int*)0xB8000000;
  cout << "直接赋值地址的指针的地址为: " << p2 << endl;

  // HINT 4. 使用new来初始化内存 C语言用malloc()
  int* pn = new int;  // NOTE 告诉程序需要一块用来存储int的内存 根据类型确定需要多少字节的内存 然后返回这个地址

  // HINT 5. 空指针:值为0的指针 null pointer代表内存分配失败
}

void DeletePoint(){

}