指针变量的大小(在C语言中一个指针占用多少字节)

:暂无数据 2026-08-29 21:50:02 :0

指针变量的大小(在C语言中一个指针占用多少字节)

大家好,指针变量的大小相信很多的网友都不是很明白,包括在C语言中一个指针占用多少字节也是一样,不过没有关系,接下来就来为大家分享关于指针变量的大小和在C语言中一个指针占用多少字节的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

在C语言中一个指针占用多少字节

指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关。譬如以前是16为地址,指针即为2个字节,现在一般是32位系统,所以是4个字节,以后64位,则就为8个字节。



扩展资料:

1)指针的含义

指针不同于一般变量,存的是变量的地址,在同一架构下地址长度都是相同的(cpu的最大寻址内存空间),所以不同类型的指针长度都一样比如说一个char1字节,可以存在0x0,也可以位于0xFFFFFFFF,比如你的32位系统。

2)指针的范围

指针长度为4,在64位操作系统下那么就都是8了,而和char占用1字节还是100字节无关,指针的范围只和机器字和系统有关。

3)变化的范围

如果你输出的是444,说明指针长度为4字节可以记录的地址范围是0x00000000~0xFFFFFFFF,这个范围才是指针变量的值。     

4)指针的介绍

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。

指针变量占用内存大小

32位系统4字节,64位系统下用32位配置也是4字节,而64位配置则是8字节,即64位系统向下兼容,既可以编写32位也可以编写64位程序。

另外,无论哪种位宽的系统和配置,只要是同一种模式下,任何类型的指针占用都是一致的,也就是地址宽度一致。

C语言指针变量大小的问题

对于这个你只要记住一句秘诀就好,指针的大小仅仅取决指针本身的大小,不取决于指针指向的大小。 还有就是还有一个虚拟内存和物理地址的关系,有MMU映射,8086里有硬件完成一个地址偏移的过程,物理地址 = 基址*16 + 变址。

c语言中,指针变量为何只占4字节

这可能是全网最清楚的解释方法了:

地址的表示方法有多种:(十六进制表示)0x407038。前面的0x表示是16进制的意思。

但是实际上,你完全可以将16进制的数字化为常见的10进制来解决问题。

现在让我来解答你的问题。sizeof函数可以看到对象的所占字节大小。

首先一个基本的概念:一个内存单元它规定是1MB,无论是32位机器还是64位机器,内存单元的大小永远都是1MB。

现在,将内存地址类比为房间的门牌号码。比如0x400030的房间号码是30。

例如:8位的机器

将所有的内存条插满,总共是2^8=256个内存地址。

而我们知道,按照规定一个内存地址所代表的永远是1个字节。

所以:插满的机器总共有256字节。

现在的条件是,8位的机器,256字节的内存。想要一个指针,指针里面存放地址,这个指针要有足够的空间将所有的地址存放进去。

即它要存放门牌号码1-256,它要保证所有的门牌都要记下。那么如果这个指针开的大小是2位,即00,01,10,11总共能表示1-4个门牌,这显然是不够的,如果开到8位,那么这个指针就能存放1,2,3,4,5…256。

所以最终,可能(因为有些指针是在寄存器上面的)在256字节的内存上面有一个指针占用了8位。

最终的规律:8位计算机-》指针大小是8位  32位计算机-》指针大小是32位 。。。。

指针指向不同类型数据时,指针变量占用多大空间

在C中, 指针只有3种:
指向简单变量的, 指向结构体变量的, 指向函数的.
他们的大小和指向的类型无关, 基本都是一样的, 等于地址宽度.
在16位的地址的系统里, 用 段:偏移 来表示一个地址,
当只用偏移的时候(段内)称为NEAR指针, 当段偏移都用的时候(跨段), 称为FAR指针,
FAR指针占用空间大于NEAR指针.
但是在32位系统中, 指针大小是统一的.

在C++中,
指向简单变量, 简单结构体对象, 和简单函数的指针是和C一样的.
但是, 对于有多继承的对象, 指针可能需要记录一些额外的信息, 可能会更大一些.

你可以用 sizeof(XX)来测试各种指针的大小,
需要注意的是, 不同的编译器结果可能不一样.

最后的结果是:
一般而言, 指针大小是固定的, 并不因为其指向的对象类型而改变.
然而并不总是这样.

OK,关于指针变量的大小和在C语言中一个指针占用多少字节的内容到此结束了,希望对大家有所帮助。

指针变量的大小(在C语言中一个指针占用多少字节)

本文编辑:admin

更多文章:


dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)

dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)

本篇文章给大家谈谈dropdownlist 绑定,以及DropDownList 绑定所有项 并 显示指定项对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月11日 08:50

协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

最近更新

repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026-10-11 09:00:05 浏览:0
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026-10-11 08:50:04 浏览:0
majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表