指针(初阶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 一次可以走一个字节

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/688347.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot注意点

1.Usermapper里加param注解 2.RequestParam 和 RequestBody的区别: RequestParam 和 RequestBody的区别: RequestParam 和 RequestBody 是Spring框架中用于处理HTTP请求的两个不同的注 get请求一般用url传参数,所以参数名和参数的值就在ur…

LCM — Least Common Multiple 最小公倍数

因为任何一个数都可以表示为若干个质数幂的乘积。 比如75 3*5*5,即 2^0 * 3^1 * 5^2 * 7^0 ... 那么对于两个数来说,gcd就是他们取每个质数的较小幂的乘积,lcm则相反。显然,这些幂加起来就是他们乘积。 gcd(a,b) * lcm(a,b) a…

立创·天空星开发板-GD32F407VE-USART

本文以 立创天空星开发板-GD32F407VET6-青春版 作为学习的板子,记录学习笔记。 立创天空星开发板-GD32F407VE-USART 基础通信概念同步通信 & 异步通信串行通信 & 并行通信双工 & 单工通讯速率码元 串口通信数据帧 串口封装 基础通信概念 通信协议是网络…

本地运行ChatTTS

TTS 是将文字转为语音的模型,最近很火的开源 TTS 项目,本地可以运行,运行环境 M2 Max,差不多每秒钟 4~~5 个字。本文将介绍如何在本地运行 ChatTTS。 下载源码 首先下载源代码 git clone https://github…

WPF中读取Excel文件的内容

演示效果 实现方案 1.首先导入需要的Dll(这部分可能需要你自己搜一下) Epplus.dll Excel.dll ICSharpCode.SharpZipLib.dll 2.在你的解决方案的的依赖项->添加引用->浏览->选择1中的这几个Dll点击确定。(添加依赖) 3.然后看代码内容 附上源码 using Excel; usi…

TypeScript环境安装与VScode编辑器的使用

说明大背景环境,我用的是window10系统。 1.安装node.js 。 去官网下载安装包。 虽然我去的是官网,但是不知为何下载了个不知名的东西,后来又找了个链接才下载正确了。 实际上就是一个.msi的文件。我用的版本:node-v18.19.0-x6…

【第四节】C/C++数据结构之树与二叉树

目录 一、基本概念与术语 二、树的ADT 三、二叉树的定义和术语 四、平衡二叉树 4.1 解释 4.2 相关经典操作 4.3 代码展示 一、基本概念与术语 树(Tree)是由一个或多个结点组成的有限集合T。其中: 1 有一个特定的结点,称为该树的根(root)结点; 2 …

GPT-4o:突出优势 和 应用场景

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…

centos官方yum源不可用 解决方案(随手记)

昨天用yum安装软件的时候,就报错了 [rootop01 ~]# yum install -y net-tools CentOS Stream 8 - AppStream 73 B/s | 38 B 00:00 Error: Failed to download metadata for repo appstream: Cannot prepare internal mirrorlis…

从零开始:疾控中心实验室装修攻略,让你的实验室一步到位!

在当今充满挑战和变化的世界中,疾病的控制和预防成为了人类生存与发展的重要课题。而疾控中心作为防控疾病的核心机构,其疾控中心实验室设计建设显得尤为重要。下面广州实验室装修公司小编将分享疾控中心实验室设计建设方案,为疾病防控工作提…

“冻干”凭什么好吃不肥喵?既能当零食又可做主食的冻干分享

近年来,冻干猫粮因其高品质而备受喜爱,吸引了无数猫主人的目光,像我这样的资深养猫人早已开始选择冻干喂养。但新手养猫的人,可能会感到迷茫:冻干猫粮到底是什么?冻干可以一直当主食喂吗? 一、…

TqdmWarning: IProgress not found. Please update jupyter and ipywidgets.

jupyter notebook报错 在pycharm的terminal中 安装完成后就不会再报错了

缓存方法返回值

1. 业务需求 前端用户查询数据时,数据查询缓慢耗费时间; 基于缓存中间件实现缓存方法返回值:实现流程用户第一次查询时在数据库查询,并将查询的返回值存储在缓存中间件中,在缓存有效期内前端用户再次查询时,从缓存中间件缓存获取 2. 基于Redis实现 参考1 2.1 简单实现 引入…

电源小白入门学习10——浪涌、防浪涌器件、浪涌保护芯片

浪涌、防浪涌器件、浪涌保护芯片 浪涌浪涌保护器件的分类与原理保险丝TVS二极管新防护电路 浪涌 浪涌,相信不少学习过电子的同学或多或少都通过这个词,但是到底什么是浪涌呢,GPT给我的答案是这样的: 浪涌,也称为瞬态…

MS21112S单通道 LVDS 差分线路接收器

MS21112S 是一款单通道低压差分信号 (LVDS) 线 路接收器。在输入共模电压范围内,差分接收器可以 将 100mV 的差分输入电压转换成有效的逻辑输出。 该芯片可应用于 100Ω 的受控阻抗介质上,进行点对 点基带数据传输。传输介质可以是印刷电路板、…

分水岭算法分割和霍夫变换识别图像中的硬币

首先解释一下第一种分水岭算法: 一、分水岭算法 分水岭算法是一种基于拓扑学的图像分割技术,广泛应用于图像处理和计算机视觉领域。它将图像视为一个拓扑表面,其中亮度值代表高度。算法的目标是通过模拟雨水从山顶流到山谷的过程&#xff0…

数据库存储过程和锁机制

存储过程 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的,存储过程思想上很简单,就是数据库SQL语言层面的代码封装与有重用 …

【动态规划-BM69 把数字翻译成字符串】

题目 BM69 把数字翻译成字符串 描述 有一种将字母编码成数字的方式:‘a’->1, ‘b->2’, … , ‘z->26’。 现在给一串数字,返回有多少种可能的译码结果 分析 特判一个‘0’的情况 后面可以用动态规划: dp[n]为考虑前n个字符时&…

VMware虚拟机与MobaXterm建立远程连接失败

VMware虚拟机与MobaXterm建立远程连接失败 首先可以检查一下是不是虚拟机的ssh服务并不存在 解决方法: 1.更新镜像源 yum -y update 这个过程会有点久,请耐心等待 2.安装ssh yum install openssh-server 3.启动ssh systemctl restart sshd 4.查…

计算机毕业设计基于YOLOv8的头盔检测系统

1、安装Anaconda 官网下载或者哔哩哔哩有的up分享 https://www.anaconda.com/download 版本无所谓,安装位置不要有中文就行 2、创建环境yolov8 winR打开命令行 conda create -n yolov8 python3.9 3、打开源码 下载下来放到你想放的目录,直接用pyCharm或者…