C++指针:从基础到堆内存管理
1. 变量声明与内存分配
在C++中,当你声明一个变量时,编译器会根据变量的类型来分配相应的内存空间。例如,如果你声明一个 unsigned long 类型的变量,编译器会预留4字节的内存,因为每个 unsigned long 类型的数据占用4字节。编译器会负责分配实际的内存地址。
2. 指针基础
- 存储地址到指针 :每个变量都有一个地址,即使不知道具体地址,也可以将其存储在指针中。例如,假设
howOld是一个整数,要声明一个名为pAge的指针来保存它的地址,可以这样写:
int *pAge = 0;
这里, pAge 被声明为一个指向 int 类型的指针,即 pAge 用于保存一个 int 变量的地址。需要注意的是,指针也是一种变量,当声明一个整数变量时,它用于保存整数;而声明一个指针变量时,它用于保存地址。
- 空指针和野指针 :在上述例子中, pAge 被初始化为0,值为0的指针被称为空指针。所有指针在创建时都应该被初始化,如果不知道要给指针赋什么值,就赋值为0。未初始化的指针被称为野指针,野指针非常危险。
- 将变
超级会员免费看
订阅专栏 解锁全文
1551

被折叠的 条评论
为什么被折叠?



