指针是一种数据类型,存储其他变量的内存地址,用于低级内存操作、节省空间和提高效率。指针的声明使用星号 () 和数据类型;赋值使用取地址运算符 (&);解引用使用星号 ();可进行算术运算;数组可以存储指针;空指针指向无效地址;使用指针需注意悬空指针和无效指针。

C++ 指针详解
指针的概念
指针是一种数据类型,它存储另一个变量的地址。换句话说,指针指向该变量所在内存中的位置。
指针的声明
立即学习“C++免费学习笔记(深入)”;
要声明指针,请使用星号 (*) 后跟数据类型。例如:
int* ptr;
此声明创建了一个指向整数的指针。
指针的赋值
要将指针分配给变量的地址,请使用取地址运算符 (&)。例如:
int x = 10; ptr = &x;
现在,ptr 指向 x 所在的内存地址。
指针解引用
要访问指针指向的变量,请使用解引用运算符 (*)。例如:
在整本书中我们所涉及许多的Flex框架源码,但为了简洁,我们不总是显示所指的代码。当你阅读这本书时,要求你打开Flex Builder,或能够访问Flex3框架的源码,跟随着我们所讨论源码是怎么工作及为什么这样做。 如果你跟着阅读源码,请注意,我们经常跳过功能或者具体的代码,以便我们可以对应当前的主题。这样能防止我们远离当前的主题,主要是讲解代码的微妙之处。这并不是说那些代码的作用不重要,而是那些代码处理特别的案例,防止潜在的错误或在生命周期的后面来处理,只是我们当前没有讨论它。有需要的朋友可以下载看看
cout << *ptr; // 输出 10
指针算术
指针可以进行算术运算。例如:
-
ptr + 1将指针移动到下一个内存地址。 -
ptr - 1将指针移动到前一个内存地址。
指针数组
指针数组是一个存储指针的数组。例如:
int* arr[5];
此声明创建一个包含 5 个指针的数组。
空指针
空指针是指向无效地址的指针。它通常用于表示不存在的变量。在 C++ 中,空指针表示为 nullptr。
指针的好处
指针可用于:
- 对内存中的数据进行低级访问和操作。
- 节省内存,因为指针本身比实际数据占用更少的空间。
- 提高程序效率,因为直接访问内存比通过引用访问更快。
指针的注意事项
使用指针时需要注意以下事项:
- 悬空指针:当指针指向已删除或释放的变量时,它将成为悬空指针。解引用悬空指针会导致未定义的行为。
- 无效指针:当指针指向无效内存地址时,它将成为无效指针。解引用无效指针会导致程序崩溃。










