【C语言】深入理解指针(一)(中)

2、指针变量和解引用操作符(*)

(1)指针变量

我们通过取地址操作符(&)拿到的地址是一个数值,比如:0x006FFD70,这个数值有时候是需要存储起来,方便后期再使用的,此时我们将地址存放在指针变量中。

比如:

指针变量也是一种变量,这种变量是用来存储地址的,存放在指针变量中的值都理解为地址。

(2)如何拆解指针类型

上面的代码p的类型是int*,我们可以这样理解。

这里的p左边写的是:int**是在说明p是指针变量,而前面的int是在说明p指向的是整型(int)类型的对象。

例如:有下面一个float类型的变量ch,ch的地址,应该放在什么类型的指针变量中呢?答案是:float类型。

代码如下:

(3)解引用操作符

我们将地址存放保存起来,该如何使用呢?请看下面讲解。

举个生活中的例子:我们使用地址要找到一个房间,在房间里我们可以拿去或者存放物品。

在C语言中也是一样的,我们只要拿到了地址(指针),就可以通过地址(指针)找到地址(指针)指向的对象。此时要用到解引用操作符(*)

代码举例:

*p的意思是通过p中存放的地址,找到指向的空间,*p其实就是a变量了;所以*p=500,这个操作就把a改成了500.

(3)指针变量的大小

【C语言】深入理解指针(一)(上)(上一篇博客)中,我们知道32位机器假设有32根地址总线,每根地址总线出来的电信号,转换成数字信号后是1或者是0,那我们把32根地址总线产生的二进制序列当做是一个地址,那么一个地址就是32个bit位,需要4个字节才能存储。

如果指针变量是用来存放地址的,那么指针变量的大小就得是4个字节的空间才可以。

同理,64位机器,假设有64根地址总线,一个地址就是64个二进制位组成的二进制序列,存储起来就需要8个字节的空间,指针变量的大小就是8个字节。

32位平台下:

64位平台下:

结论:
32位平台下地址是32个bit位,指针变量⼤⼩是4个字节
64位平台下地址是64个bit位,指针变量⼤⼩是8个字节
注意指针变量的⼤⼩和类型是⽆关的,只要指针类型的变量,在相同的平台下,⼤⼩都是相同的。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解最新版RabbitMQ 基于RPM 方式的安装

如何选择安装版本 已经不支持的发布系列 版本最后补丁版本首次发布时间停止更新时间3.73.7.282017年11月28日2020年09月30日3.63.6.162015年12月22日2018年05月31日3.53.5.82015年03月11日2016年10月31日3.43.4.42014年10月21日2015年10月31日3.33.3.52014年04月02日2015年03…

Mybatis Cache(一)MybatisCache+Redis

前面提到了,使用mybatis cache,一般是结合redis使用。 一、demo 1、数据表 create table demo.t_address (id int auto_incrementprimary key,address_name varchar(200) null,address_code varchar(20) null,address_type int n…

计算机毕业设计Python+Scrapy+Vue.js机器学习招聘推荐系统 招聘数据可视化 招聘爬虫 招聘数据分析 大数据毕业设计 大数据毕设

桂林学院 本科生毕业论文(设计、创作)开题报告 二级学院 理工学院 专业 数据科学与大数据技术(专升本) 年级 2022级 姓名 徐彬彬 学号 202213018222 指导教师 沈岚岚 职称/学位 高级实验师 第二 导师 职称/学…

【ZYNQ】AXI-Quad-SPI SDK 开发记录 测试

前人工作 如前人工作,在Navigate to BSP Settings中找到历例程 file:///F:/Xilinx/Vitis/2019.2/data/embeddedsw/XilinxProcessorIPLib/drivers/spi_v4_5/doc/html/api/example.html使用XSpi_LowLevelExample例子,源代码的AI解析 int XSpi_LowLeve…

Java使用apache.poi生成word

加油,打工人! 工作需求,将现有的word模板有段落和表格,从数据库中查出数据并填充,word里面也有表格数据,需要将excel表格数据单独处理,然后插入到生成好的word文档中。 下面代码模拟从数据库查出…

Kubernetes——Kubectl详解

目录 前言 一、陈述式资源管理方法 二、Kubectl命令操作 1.查 1.1kubectl version——查看版本信息 1.2kubectl api-resources——查看资源对象简写 1.3kubectl cluster-info——查看集群信息 1.4配置Kubectl补全 1.5journalctl -u kubelet -f——查看日志 1.6kubec…

物联网应用开发--STM32与机智云通信(ESP8266 Wi-Fi+手机APP+LED+蜂鸣器+SHT20温湿度传感器)

实现目标 1、熟悉机智云平台,会下载APP 2、熟悉新云平台创建产品,项目虚拟调试 3、掌握云平台生成MCU代码,并移植。机智云透传固件的下载 4、具体目标:(1)注册机智云平台;(2&…

148.【Windows DOS命令脚本文件】

Window待处理脚本 (一)、批处理编程初步体验1.什么是批处理程序?(1).批处理程序的定义(2).如何编辑批处理程序 2.批处理程序可以做什么?(1).匹配规则删除文件(2).新建文件,日志等(3).创建计算机病毒等 3.一个基本的批处理文件(1).带盘符的输出…

[深入理解DDR5] 2-1 封装与引脚

3500字,依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解DDR》 1 DDR5 颗粒 X4 X8 X16 这里的 X8 or X16, 可以理解为一个DRAM芯片有几个存储阵列。“X几”。进行列寻址时会同时从几个阵列的同一个坐标位置读出数据bit来&a…

前端中 dayjs 时间的插件使用(在vue 项目中)

Day.js中文网 这是dayjs的中文文档 里面包括了使用方法 下面我来详细介绍一下这个插件的使用 Day.js 可以运行在浏览器和 Node.js 中。 一般咱直接是 npm 安装 npm install dayjs 目前应该使用的是Es6 的语法 import dayjs from dayjs 当前时间 直接调用 dayjs() 将返回…

【飞桨AI实战】基于PP-OCR和ErnieBot的智能视频问答

前言 本次分享将带领大家从 0 到 1 完成一个基于 OCR 和 LLM 的视频字幕提取和智能视频问答项目,通过 OCR 实现视频字幕提取,采用 ErnieBot 完成对视频字幕内容的理解,并回答相关问题,最后采用 Gradio 搭建应用。本项目旨在帮助初…

小猫咪的奇幻冒险:一个简单的Python小游戏

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、游戏简介与演示 二、游戏开发与运行 1. 环境搭建 2. 代码解析 3. 加速机制 三、游戏…

Jeecg | 完成配置后,如何启动整个项目?

前端启动步骤: 1. 以管理员身份打开控制台,切换到前端项目目录。 2. 输入 pnpm install 3. 输入 pnpm dev 4. 等待前端成功运行。 可以看到此时前端已经成功启动。 后端启动步骤: 1. 启动 mysql 服务器。 管理员身份打开控制台&#…

得物小程序逆向+qt可视化(不含sku)

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872 本文章未…

Python实现国密GmSSL

Python实现国密GmSSL 前言开始首先安装生成公钥与私钥从用户证书中读取公钥读取公钥生成签名验证签名加密解密 遇到的大坑参考文献 前言 首先我是找得到的gmssl库,经过实操,发现公钥与密钥不能通过pem文件得到,就是缺少导入pem文件的api。这…

迷你手持小风扇到底哪个牌子最好?揭秘迷你手持手持小风扇排行榜

在炎炎夏日,迷你手持小风扇成为了我们不可或缺的清凉伴侣。然而,面对市场上琳琅满目的品牌,迷你手持小风扇到底哪个牌子最好?今天,我将揭秘迷你手持小风扇排行榜,带大家一探各大品牌的魅力,让你…

字节面试:百亿级数据存储,怎么设计?只是分库分表吗?

尼恩:百亿级数据存储架构起源 在40岁老架构师 尼恩的读者交流群(50)中,经常性的指导小伙伴们改造简历。 经过尼恩的改造之后,很多小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试机会&#xff0c…

【LeetCode】【5】最长回文子串

文章目录 [toc]题目描述样例输入输出与解释样例1样例2 提示Python实现动态规划 个人主页:丷从心 系列专栏:LeetCode 刷题指南:LeetCode刷题指南 题目描述 给一个字符串s,找到s中最长的回文子串 样例输入输出与解释 样例1 输入…

文件上传安全指南:保护免受不受限制的文件上传攻击

文件上传安全指南:保护免受不受限制的文件上传攻击 在现代应用程序中,文件上传功能是一个常见且重要的部分。然而,这也为攻击者提供了潜在的攻击向量,尤其是不受限制的文件上传攻击。本文将详细介绍如何通过一系列安全措施来保护…

安全设计 | Microsoft 威胁建模工具Threat Modeling Tool安装及使用详解(文末附样例)

1. 概览 微软威胁建模工具(Threat Modeling Tool)是 Microsoft 安全开发生命周期 (SDL,Security Develop LifeCycle) 的核心要素。 当潜在安全问题处于无需花费过多成本即可相对容易解决的阶段,软件架构师可以使用威胁建模工具提…