初识c++之指针/引用和内存地址
本文仅从本人认知的角度来看待和描述指针/内存和引用, 是不太正规个人笔记, 欢迎留言讨论交流.
取内存地址
&变量名
1 | |
引用
int *变量 = &被引用变量
——- 等同 ——-
int *变量;
变量 = &被引用变量
1 | |
1 | |
结果相同, 无论a或*b谁的值改变了, 都会同步. 因为*b指向a的内存地址
*b是int指针类型, 它指向a
解引用
变量
*b引用变量a, 变量**c引用&b变量. 解两次**c才能得到a的内存地址
1 | |
1 | |
申请内存
int *a = new int;
1 | |
这种做法是错误的, 申请的内存需要自己处理释放. 否则会造成内存泄漏引起程序崩溃等问题. 请看下例
释放内存 (释放堆中内存空间)
delete 指针变量名;
(上例中, 申请内存使用后不释放. 会造成内存泄漏)
1 | |
初识c++之指针/引用和内存地址
http://edk24.com/2019/8cac8e5.html