| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 指针初阶1 -> 正文阅读 |
|
[C++知识库]指针初阶1 |
指针是什么? 我们可以这样理解 编号——地址——指针? ? ? ? ?地址存起来需要变量,所以存放地址的变量又被称为指针变量
总结:(1)内存被划分成了一个个小单元,一个单元一个字节; (2)对每个小单元进行编号(3)要把编号存起来,所以引出指针变量存放地址 (4)指针的大小在32位平台的大小是4个字节,在64位平台的大小是8个字节。 指针和指针类型 ?指针的大小相同,那么说明指针类型是没有意义的,这么说是不是可以创建一个通用类型的指针呢?但现实确是不行的,所以也可以说明指针类型是又意义的 指针类型的意义是什么? 1、指针类型决定了:指针解引用的权限有多大(能操作几个字节); int能访问4个字节 ?char能访问1个字节 ?2、指针类型决定了:指针走一步,能走多远(步长)? ?字符指针+1相当于跳过了1个字符,所以+1;整型指针+1相当于跳过了一个整型,所以+4. p+1加几取决于p的类型,与p指向的对象和赋的值没有关系 3、 野指针 概念:野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的) 野指针的成因 (1)指针位初始化
2、指针越界访问
?3、指针空间的释放
如何规避野指针 (1)指针初始化 *当不知道p应该初始化为什么地址时,直接初始化为NULL
*明确知道初始值
(2)小心指针越界——c语言本身不会检查数据的越界行为 (3)指针指向空间施放及时置NULL (4)指针使用之前检查有效性
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 13:09:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |