在 C/C++ 编程中,指针是一种强大的工具,可以用于处理内存地址和数据。然而,指针的错误使用可能导致程序崩溃、内存泄漏和其他严重的错误。本文将详细介绍两种常见的指针错误:PTR ERR 和 ERR PTR,并提供相应的源代码示例。
- PTR ERR(指针错误)
PTR ERR 是指在访问指针时出现的错误。这种错误通常发生在以下情况下:
a. 未初始化指针
当一个指针被声明但未初始化时,它将包含一个随机的内存地址。因此,在尝试访问指针指向的内存区域时,程序可能会崩溃或产生未定义的行为。为了避免 PTR ERR,应始终在使用指针之前将其初始化为一个有效的内存地址或将其设置为 NULL。
示例代码:
int* ptr; // 未初始化指针
*ptr = 10; // PTR ERR:尝试访问未初始化的指针
修正后的代码: