一个指针占几个字节?原理是什么呢?

article/2025/4/26 2:36:56

一个指针占几个字节的问题,感觉会C语言的同学都知道。但是在面试过程中,面了几个同学,不是答忘记了,就是两个、四个的瞎蒙。。。

那么,一个指针到底占几个字节呢?

其实,这个问题很简单,稍微上网一搜,你就知道:
一个指针在32位的计算机上,占4个字节;
一个指针在64位的计算机上,占8个字节。

这么简单的问题,为什么面试官愿意问呢?其实这个问题不是在考你的记忆能力,是在考察你的计算机基础能力。就比如,在你答出来4个字节的情况下,面试官会问一句:

为什么呢?

首先,我们要明白,指针就是地址,地址就是指针。 而地址是内存单元的编号。所以,一个指针占几个字节,等于是一个地址的内存单元编号有多长。
我们都知道,在计算机中,CPU不能直接与硬盘进行数据交换,CPU只能直接跟内存进行数据交换。而CPU是通过地址总线、数据总线、控制总线三条线与内存进行数据传输与操作。
在这里插入图片描述

问:假如,我们想通过CPU在内存中读取一个数字3,那么是怎样一个操作呢?

首先,CPU通过地址总线,在内存中找到数字3的地址;
然后,通过控制总线知道该操作是读还是写;
最后,通过数据总线,把数字3传输到CPU中。

我们可知道:
地址总线的宽度决定了CPU的寻址能力;
控制总线决定了CPU对其他控件的控制能力以及控制方式。
数据总线的宽度决定了CPU单次数据传输的传送量,也就是数据传输速度;

这是几种总线的类型以及简单功能。

我们平时所说的计算机是64位、32位、16位,指的是计算机CPU中通用寄存器一次性处理、传输、暂时存储的信息的最大长度。即CPU在单位时间内(同一时间)能一次处理的二进制数的位数。
假如,某计算机的地址总线是32位,那么其一次可以处理的信息是32条,每一条地址总线有0或1两种可能,那么32根地址总线一共有232种可能,也就是其描述的地址空间为0x0000 0000 0000 0000 ~ 232-1。
我们一般需要32个0或1的组合就可以找到内存中所有的地址,而32个0或1的组合,就是32个位,也就是4个字节的大小,因此,我们只需要4个字节就可以找到所有的数据。所以,在32位的计算机中,指针占4个字节。同理,在64位的计算机中,指针占8个字节。

同时也可以看出,由于地址总线为32,那么每次寻址的空间为0x0000 0000 0000 0000 ~ 232-1,那么CPU的最大内存为232Byte=222KB=212MB=22GB=4GB。
而64位,最大内存是264Byte。

更多学习关于指针变量占几个字节,请参考郝斌老师的C语言第P139集

看完视频的同学,可以看到老师讲的是:一个指针变量占几个字节
指针变量里面存放的是:某一类型的数据的第一个地址值。
也就是地址值占几个字节,指针变量就占几个字节
因此,
一个指针占几个字节
一个地址占几个字节
一个指针变量占几个字节
三种问法等同
不过,严谨些说,该题目改为 一个指针变量占几个字节 更为贴切些

举个例子

内存地址就像一条路上的门牌号,用几位表示需要看门牌数量。
门牌号从0号开始编排,到232-1号结束,一共就有232个门牌号。分别为二进制的
000000000000000000000000000号
000000000000000000000000001号
000000000000000000000000010号
最后
111111111111111111111111110号
111111111111111111111111111号
每个门牌的号码是32位(二进制),一个字节为8位,32位就是4字节。


其他知识点:

1位=1bit=1比特,表示一个二进制0或1

1字节(Byte) = 8位=8bit=8比特

数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。

1个英文字母(不分大小写)占一个字节的空间

计算机能够处理的最小单元是 字节 而不是 位
位,是由软件通过位运算符操作的

指针和指针变量的区别

内存地址是内存单元的编号
指针就是地址,地址就是指针;
指针变量就是存放地址的变量,也可以说,指针变量就是存放指针的变量
例如:
int *p中p就是指针变量。
需要注意:通常我们叙述时,会把指针变量简称为指针,实际上它们的含义并不一样

在这里插入图片描述

发现有些同学对地址、指针、指针变量还是分不太清,建议把郝斌老师的C语言有关指针的内容看一下,强烈安利
没时间看的,可以把P123到P126这四节课看一下


http://chatgpt.dhexx.cn/article/ulj7huF7.shtml

相关文章

一个汉字几个字符?几个字节?字符与字节关系傻傻分不清

一个汉字一个字符!不信你去java输入char ch 汉’看看报不报错 学习java也有段时间了,一直都是毛里毛糙的学习,但都是停留在略懂阶段,似乎会,实际上差得远了,,还是要沉下来心一点一点学呀&…

Office 2016更新后 Word 2016、Excel 2016、Power 2016、Visio 2016、OneNote 2016图标全部消失问题解决

【问题描述】 打开办公软件后显示Office在更新,更新完成后开始屏幕固定的 Word 2016、Excel 2016、Power 2016、Visio 2016、OneNote 2016图标全部消失了。 全局搜索只能搜索到Word、Excel、Power、Visio、OneNote,但已经不是2016版的了,而是…

关于修复Office图标白色的问题

问题: Offcie的Word和Excel的文件的部分后缀文件(.doc .docx .xls .xlsx)变成白色,且无法通过默认打开方式修改图标 可能原因: 以前使用过WPS,卸载后,在注册表没有删除干净 这个E:\Software\WPS Office\....目录和指…

卸载wps后桌面上的office文件图标变成了白色

文章目录 卸载wps后桌面上的office文件图标变成了白色第一步:第二步 卸载wps后桌面上的office文件图标变成了白色 作者:wyf 第一步: **win(图标)R,输入regedit,点击确定**第二步 2、找到HKEY_CLASSES_RO…

提取 Office 2016 工具栏图标

Office 图标精美漂亮,作为微软的官方图标,与 Windows 具有一致的风格,但我们若想把这些图标用在自己的程序中,却并不容易,使用常规的提取程序资源的方法,根本得不到这些图标。 微软虽然没有把这些图标开放给…

office图标异常解决办法

问题描述: 前不久才重装过系统,可是没多久就出现了一个很恶心的问题:word文档、excel文档图标异常,显示的是下面这样: (造成这样的原因一般是装了 wps,卸载后又装了office) 打开…

office图标显示异常和新建时图标没有显示等问题解决

1.office图标显示异常问题解决方法 1>点击“开始” 2>在在运行命令行中输入“regedit”,找到regedit.exe执行文件,点击进入注册表 3>在左侧找到HKEY_CLASSES_ROOT目录,并展开: 4>删除其中一些注册表选项&#xff1…

卸载office后桌面上的word文件图标变成了白色

如图所示; 解决办法:适用Office2016/365中的Word、PowerPoint、Excel文件图标因安装WPS造成图标异常,显示为无法识别的程序图标,卸载、重装都不能修复,但能正常使用。 解决办法: 1、运行regedit&#xff0c…

修复Microsoft Office的Word、Excel、PPT丢失图标

文章目录 打开注册表Word注册表Excel注册表PPT注册表修复 使用注册表方式修复,删除Word、Excel、PPT的对应文件夹,那个丢失,就删除那个,然后修复 打开注册表 Windows R 打开电脑中的运行界面,输入命令回车: regedit …

将默认打开方式改成Office后,桌面办公软件图标变成白板

(注意:修改注册表有风险,请谨慎使用) 通过注册表解决。关键看图标是否仍然关联WPS,如果有则删除相关关联参数 步骤1:同时按WinR键,输入regedit打开注册表 步骤2:在注册表中打开HKEY_CLASSES_ROOT​文件夹…

新建文件没有word、ppt、excel,office图标显示为白色,不能正常显示

新建文件没有word、ppt、excel,office图标显示为白色,不能正常显示 解决办法: 1、按“winR”输入“regedit”运行,打开系统注册表; 2、找到HKEY_CLASSES_ROOT下的.doc、.docx、.ppt、.pptx、.xls、.xlsx,删…

卸载wps后,win10的office所有图标变白最简单方法

wps卸载后,所有图标都变白了,找到简单的方法 网上很多需要修改注册表,重装之类,现在找到一个最简单的方法,测试有效 1、进入控制面板,找到office的安装程序 2、右键更改,选择快速修复&#xf…

window10安装office之后开始菜单不显示office快捷方式图标

window10安装office之后开始菜单不显示office图标 1、问题描述2、解决办法 1、问题描述 我安装的是office2019专业增强版 但是安装完之后开始菜单就是不出现 Word、Excel、PowerPoint 的快捷方式,只能通过右键选择 新建 进入。而且卸载了重装也还是不出现。 2、…

[Win10] 解决 Office 安装后图标空白的问题

本文介绍了安装 Office 后出现图标空白的解决方法。问题如下图所示。 步骤 1 打开控制面板 — 程序 — 默认程序 — 文件协议或类型关联,将 Word 相关的文件类型(如.doc,.docx)与 Word 相关联。 PPT, Excel 等同理 步…

WPS图标如何改成office图标(取消WPS默认方式)

1.在安装完WPS之后发现我们桌面关于office的图标都成了WPS图标并且默认打开方式都成为了WPS打开。而只是偶尔用一下WPS打开一些文件按下面步骤! 2.WPS安装好后,点击开始-- WPS Office–配置工具 3.双击配置工具-- 单击 高级(A) 4.取消勾选 WPS office兼容第三方系…

【window】解决word,excel,PowerPoint 等office图标不显示问题

记录一下,以防下次忘记 因为之前安装过wps 所以当我把wps卸载后重新用office,但是我的图标不见了。。卸载了重新安装了也不没显示。 进入正题 1、首先我们要先安装好office后,先找一下这些图标所在的文件夹,一般都在 C:\Program Files\Microsoft Office\root\vfs\Windo…

office中mathtype图标不显示或者显示但是功能灰色

最近在帮解决office中安装完mathtype后mathtype选项卡下方功能区灰色无法使用问题时,有一些经验在此分享。特别说明:mathtype必须激活才可以,不然还会有更多问题,请大家支持软件正版! 写在前面:进行下列操…

Win10系统Office 软件图标变白两种解决方法

问题描述:因为清理C盘的时候,不小心把office的图标文件删除了。导致word、excel、ppt文件图标都变成白色的了。 问题原因:因为注册表里office的DefaultIcon键值找不到文件,导致图标空白。 解决方法:将对应的图标文件修改为offic…

【电脑Windows日常】解决Windows11 无法显示office图标的问题

运行 regedit 打开注册表 ,已下的标红的部分,两个都改下 1. PPT 右边红框圈住的不一样,照着改 改下默认路径,我的路径(C:\Program Files\Microsoft Office\root\Office16\POWERPNT.EXE) 重置下默认应用…

Windows11 无法显示office图标

运行 regedit 打开注册表 ,标红两个都改下 ppt 右边红框圈住的不一样,照着改 改下默认路径,我的路径(D:\Program Files\Microsoft Office\Office16\POWERPNT.EXE) 重置下默认应用就可以刷新图标了 word 同ppt…