`

别误用指针

阅读更多

(1)C/C++中,很容易因误用指针而犯错误,请考虑以下代码,它的目的是在链表的前面插入一个元素:

 

bool insertInFront(IntElement *head, int data){
    IntElement *newElem=new IntElement;
    if(!newElem)   return false;
    newElem->data=data;
    head=newElem;
    return ture;
}

 前面的代码是不正确的,因为它只更新了头指针的“本地拷贝”.正确的版本是传入一个头元素指针的指针:

 

bool insertInFront(IntElement **head, int data){
    IntElement *newElem=new IntElement;
    if(!newElem)   return false;
    newElem->data=data;
    *head=newElem;
    return ture;
}

  (2)char *const chrPtr,它不能改为指向内存中的另一位置,但可以用来修改它所指向的内存中的内容;

          const char *chrPtr,它可以用来指向不同的内存地址,但不能用来修改所指向位置的内容。

 

分享到:
评论

相关推荐

    指针c++ppt教程

    在实际编程中,正确地使用指针可以极大地提高代码的效率和灵活性,但误用指针可能导致程序错误,如空指针引用、野指针等问题。因此,理解并熟练掌握指针的使用是C++程序员必备的技能之一。 总之,本教程的目的是...

    C_指针编程中的几个常见问题

    初学者应特别注意指针的类型、指向的类型、指针变量的值和指针本身的地址,以及在操作指针时的语法和语义规则,避免常见的错误,如误用指针自增、忽视运算符优先级和误解指针赋值的效果。通过实例和实践,可以更好地...

    c++指针面试题经典

    通过解决这些面试题,你可以深入理解指针的工作原理,提高编程技能,并降低因误用指针导致的程序错误。在学习过程中,实践和理解每个概念的实例是非常重要的,同时,理解指针与C++其他特性的交互,如模板、STL容器等...

    让您彻底搞懂C语言指针

    C语言中的指针是其强大的特性之一,也是学习C语言时的一大难点。本文将深入解析指针的概念,帮助你彻底理解C语言中的指针。...不过,误用指针可能导致内存泄漏、空指针引用等问题,因此理解和熟练使用指针至关重要。

    C野指针处理

    - **解决方法**:一旦指针指向的内存被释放,应立即将其设为`NULL`,以避免后续代码误用这个指针。 #### 四、示例分析 考虑以下示例代码: ```c #include #include #include int main() { char* p = (char*...

    C语言指针及常见错误

    - **解决方法**:使用完毕后及时释放内存,并将指针设为`NULL`避免误用。 3. **空指针**:空指针是指值为`NULL`的指针。虽然使用空指针不会立即导致程序崩溃,但在不检查的情况下对其解引用会导致错误。 - **示例...

    c语言中详解指针.doc

    然而,这也带来了一些挑战,如指针的误用可能导致程序错误或安全问题。因此,理解和熟练掌握指针的使用是C语言编程的关键。在后续章节中,我们将进一步探讨指针与一维数组、高维数组、变量长度数组、数组类型的字面...

    空指针的定义.doc

    在分配内存后,如果不再需要使用,应将指针设置为`NULL`,这样可以提醒程序员该指针已不再有效,防止后续误用。在释放内存后检查指针是否为`NULL`,也是一种良好的编程习惯,可以避免重复释放同一块内存。 在数据...

    c指针详细讲解

    C指针是C语言中的一个核心特性,它允许程序员直接操作内存地址,从而实现高效的数据操作和复杂的程序设计。...在实际编程中,合理利用指针能提高代码的灵活性和效率,但同时也需要注意避免因误用指针而引发的问题。

    四道经典C语言指针试题

    释放内存后,应该将指针设为`NULL`,防止后续误用。在`free`之后添加`str = NULL;`可以避免这种悬挂指针的问题,这是一种良好的编程习惯,有助于减少潜在的错误。 总结起来,这四道试题强调了以下C语言指针使用的...

    C_C++指针经验总结 学习指针的指导书

    8. **指针的危险性**:虽然指针提供了强大的功能,但误用也会带来问题,如空指针引用、野指针、内存泄漏等。因此,理解和正确使用指针是 C/C++ 程序员必须面对的重要挑战。 通过 "C_C++指针经验总结 学习指针的指导...

    C++指针应用的四大误区

    #### 五、误用常量指针和常量指针 **定义:** 在C++中,有两种类型的常量指针:指向常量的指针和常量指针。指向常量的指针不能改变其指向的数据,而常量指针不能改变自身所指向的地址。 **误区:** **混淆两种常量...

    野指针问题

    这有助于避免误用已被释放的内存。 3. **内存分配检查**:使用`malloc`或`new`等函数分配内存后,应检查返回的指针是否为NULL,确保内存分配成功。 4. **避免返回栈内存的指针**:在函数内部,避免返回指向局部...

    指针变量的定义和运算指针变量作函数参数PPT学习教案.pptx

    指针是C语言中一种非常重要的特性,它允许程序员直接操作内存地址,从而实现更高效的数据操作和管理。...在实际编程中,熟练运用指针可以提高代码效率和灵活性,但同时也需要注意避免因误用指针而导致的错误。

    高级语言程序设计指针2022优秀文档.ppt

    指针是C/C++等高级语言中一个重要的概念,它允许程序员直接操作内存地址,从而实现更灵活和高效的编程。...在实际编程中,合理使用指针可以提高程序的灵活性和效率,但同时也要注意避免因误用指针导致的问题。

    C语言指针入门.pdf

    C语言中的指针是其强大的特性之一,它们是存储内存地址...然而,这也需要谨慎对待,因为误用指针可能导致程序错误,甚至内存泄漏。因此,学习C语言的指针时,不仅要了解其定义和操作,还要学会如何安全有效地使用它们。

    内存使用和指针及C++ STL介绍

    然而,由于其底层性质,指针的误用也常导致程序错误,如内存泄漏、悬挂指针和野指针等问题。 在C语言中,指针是一个变量,存储的是另一个变量的地址。理解指针的声明、初始化、解引用和传递至关重要。声明指针时,...

    C语言中的指针 (1).pdf

    本文从指针的概念、运算、误用以及与数组和函数的关系进行了分析和探讨。 指针的概念: 在C语言中,指针是变量的地址。每个内存单元都对应着一个地址,计算机就是通过访问这个地址来存取对应单元的内容。因此,...

    C语言指针详细介绍

    ### C语言指针详细介绍 ...总之,指针是C语言中一个强大但又容易误用的特性。掌握指针的基本概念及其应用,对于编写高效、健壮的C程序至关重要。在实践中不断练习和积累经验,是熟练掌握指针的关键。

    再再论指针,指针的深入分析

    多维数组与数组的数组在概念上有很大的不同,尽管在实际应用中它们经常被误用。 - **数组的数组**是指数组中的每个元素也是一个数组。例如,`int arr[2][3];`,这里`arr`是一个包含两个元素的数组,每个元素都是一...

Global site tag (gtag.js) - Google Analytics