第六章指针:有哪些核心知识点需要掌握?

2026-05-17 07:320阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1905个文字,预计阅读时间需要8分钟。

《C++篇:初学者学C++时所作笔记(特别是不易理解复杂点)》,全是干货,自然看着枯燥但会让你受益匪浅,可用作学习C++的一大利器。六、指针(一)+ 指针规则(二)+ 两个指针不能进行加法运算(三),因为指针。

  • C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器
六、指针 (一)指针规则
  1. 两个指针不能进行加法运算,因为指针是变量,其值是另一个变量的地址,故两地址相加没意义,但可以用一个空指针赋值给某个指针变量,值为NULL

  2. 如果两个指针是指向同一类型的两个指针,则两个指针之间可以进行相减(实际是所指向对象的相减)和关系、运算

  3. 无论任何指针在32位系统中是4字节 64位系统中是8字节

  4. 初始化为NULL的类指针,可以安全的调用不涉及类成员变量的类成员函数而不会出错

  5. 初始化指针时所创建的字符串常量被定义为只读。如果试图通过指针修改这个字符串的值,程序就会出现未定义的行为,例:char* s="AAA";

  6. 指针本身存于栈中

  7. 当free释放内存之后,指针还指向原来的那块地址,需要我们设置 p = NULL;如果不手动设置 p = NULL,此时P就变成了野指针;野指针产生原因:

  8. 声明的指针未被初始化,指针默认值随机产生。创建指针应该将其初始化为NULL或者指向某一内存。

  9. free和delete掉的指针未重置为NULL,free后的指针仍指向该内存,但该内存已变为垃圾内存。

阅读全文

本文共计1905个文字,预计阅读时间需要8分钟。

《C++篇:初学者学C++时所作笔记(特别是不易理解复杂点)》,全是干货,自然看着枯燥但会让你受益匪浅,可用作学习C++的一大利器。六、指针(一)+ 指针规则(二)+ 两个指针不能进行加法运算(三),因为指针。

  • C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器
六、指针 (一)指针规则
  1. 两个指针不能进行加法运算,因为指针是变量,其值是另一个变量的地址,故两地址相加没意义,但可以用一个空指针赋值给某个指针变量,值为NULL

  2. 如果两个指针是指向同一类型的两个指针,则两个指针之间可以进行相减(实际是所指向对象的相减)和关系、运算

  3. 无论任何指针在32位系统中是4字节 64位系统中是8字节

  4. 初始化为NULL的类指针,可以安全的调用不涉及类成员变量的类成员函数而不会出错

  5. 初始化指针时所创建的字符串常量被定义为只读。如果试图通过指针修改这个字符串的值,程序就会出现未定义的行为,例:char* s="AAA";

  6. 指针本身存于栈中

  7. 当free释放内存之后,指针还指向原来的那块地址,需要我们设置 p = NULL;如果不手动设置 p = NULL,此时P就变成了野指针;野指针产生原因:

  8. 声明的指针未被初始化,指针默认值随机产生。创建指针应该将其初始化为NULL或者指向某一内存。

  9. free和delete掉的指针未重置为NULL,free后的指针仍指向该内存,但该内存已变为垃圾内存。

阅读全文