当前位置: 首页 > news >正文

指针(初阶1)

一.指针是什么

通俗的讲,指针就是地址,其存在的意义就像宾馆房间的序号一样是为了更好的管理空间。

如下图:

如上图所示,指针就是指向内存中的一块空间,也就相当于地址

二.一个指针的大小是多少

之前我们学习过,如何使用 sizeof 去计算类型所占空间的字节大小,所以接下来尝试使用该“关键字”计算各种类型指针所占空间大小

   这里定义了三个不同类(分别是Int char float)但为什么计算出的结果都是 4 呢?

   之前我们学习的时候(char是1个字节,int是四个字节)但这里为什么没有区别?

其实,无论什么类型的指针,他所占的空间大小是由计算机来决定的(32位计算机是四个字节,64是八个字节!)那么问题来了,既然所占空间的字节大小都一样,那么为什么还要区分类别?有什么意义?接下来让我们继续探讨这个问题

三.指针类型

意义:

(1)决定了指针“解引用”的权限有多大

   解引用:指定义了一个指针变量之后对其进行解引用的操作,等同于将其变为一个普通的变量。具体操作如下:

int a = 10;
int* pa = &a;
*pa = 20;//次数就是指针解引用的操作,此时的*pa就相当于一个普通的int型的变量

上述代码就是“解引用”

        权限的大小也就是指针访问空间的大小,比如 int 型可以访问四个字节,char 型可以访问一个字节

(2)决定了指针的“步长”

   也就是指针走一步可以走多长,比如 int 类型的指针一次可以走四个字节,char 一次可以走一个字节

为了更好的理解上图,请看下图:

http://www.lryc.cn/news/366511.html

相关文章:

  • MySQL实体类框架
  • 数据结构之初始泛型
  • 【网络编程开发】7.TCP可靠传输的原理
  • 视觉SLAM十四讲:从理论到实践(Chapter8:视觉里程计2)
  • C语言过度C++语法补充(面向对象之前语法)
  • 类和对象(二)(C++)
  • Chrome DevTools解密:成为前端调试大师的终极攻略
  • 【python】OpenCV—Cartoonify and Portray
  • 制作AI问答机器人:从0到1的完整指南
  • mysql 数据库datetime 类型,转换为DO里面的long类型后,只剩下年了,没有了月和日
  • 信息系统项目管理师0148:输出(9项目范围管理—9.3规划范围管理—9.3.3输出)
  • 解决 SQLyog 连接 MySQL 8 连不上和 SQLyog Trial 试用到期的问题
  • go语言内置预编译 //go:embed xxx 使用详解
  • 数据挖掘--挖掘频繁模式、关联和相关性:基本概念和方法
  • Locust:用Python编写可扩展的负载测试
  • 【Neo4j】Windows11使用Neo4j导入CSV数据可视化知识图谱
  • 探索智慧林业系统的总体架构与应用
  • 【JSP】如何在IDEA上部署JSP WEB开发项目
  • 用HTML实现拓扑面,动态4D圆环面,可手动调节,富有创新性的案例。(有源代码)
  • java调用GDAL及JTS实现生成泰森多边形(Voronoi图)的一种方法
  • Type-C音频转接器方案
  • linux 服务器上离线安装 node nvm
  • Web前端三大主流框架:React、Angular和Vue的比较与选择
  • C# MemoryCache 缓存应用
  • 【学习笔记】Linux前置准备
  • 各种空气能热泵安装图
  • 软件杯 题目:基于深度学习的中文对话问答机器人
  • UI学习笔记(一)
  • 【C语言训练题库】扫雷->简单小游戏!
  • WMS仓储管理系统高效驱动制造企业物料管理