指针
空指针:指向“空地址”的指针,用 nullptr (C++11后推荐)或 NULL 表示,避免野指针(指向非法内存的指针)。
- 示例: int* p = nullptr; (此时 *p 不可访问,会报错)。
动态内存分配:用 new 分配内存, delete 释放内存,是指针的核心用途之一(数组动态分配需用 delete[] )。
- 示例: int* p = new int(5); (分配1个int内存,初始值5); delete p; (释放内存,避免内存泄漏)
三、常见指针类型
1. 常量指针: const 数据类型* 指针 ,指针指向的内容不可修改,但指针本身可指向其他地址。
- 示例: const int* p = &a; *p = 30; (报错,不能修改指向的值); p = &b; (合法,可改指向)。
2. 指针常量: 数据类型* const 指针 ,指针本身不可修改(不能指向其他地址),但指向的内容可修改。
- 示例: int* const p = &a; p = &b; (报错,不能改指向); *p = 30; (合法,可改值)。
3. 二级指针:指向指针的指针,语法 数据类型** 指针 ,用于存储指针变量的地址(如 int** pp = &p; , pp 指向 p , **pp 等价于 *p ,即 a 的值)。
空指针:指向“空地址”的指针,用 nullptr (C++11后推荐)或 NULL 表示,避免野指针(指向非法内存的指针)。
- 示例: int* p = nullptr; (此时 *p 不可访问,会报错)。
动态内存分配:用 new 分配内存, delete 释放内存,是指针的核心用途之一(数组动态分配需用 delete[] )。
- 示例: int* p = new int(5); (分配1个int内存,初始值5); delete p; (释放内存,避免内存泄漏)
三、常见指针类型
1. 常量指针: const 数据类型* 指针 ,指针指向的内容不可修改,但指针本身可指向其他地址。
- 示例: const int* p = &a; *p = 30; (报错,不能修改指向的值); p = &b; (合法,可改指向)。
2. 指针常量: 数据类型* const 指针 ,指针本身不可修改(不能指向其他地址),但指向的内容可修改。
- 示例: int* const p = &a; p = &b; (报错,不能改指向); *p = 30; (合法,可改值)。
3. 二级指针:指向指针的指针,语法 数据类型** 指针 ,用于存储指针变量的地址(如 int** pp = &p; , pp 指向 p , **pp 等价于 *p ,即 a 的值)。
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
上海得物信息集团有限公司公司福利 1260人发布
