// 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(){
}