C语言指针为什么占4个字节,32位机器可以理解,64位机器不应该是8字节么,16位机器呢

如题所述

指针其实就是int类型的值,32位系统和64位系统中int类型都是占4个字节的
16位系统中指针占2二哥字节

而且指针的大小主要还是看你编译环境设置追问

64位系统的内存地址就是64位吧

温馨提示:内容为网友见解,仅供参考
无其他回答

c语言中,指针变量为何只占4字节?
一般指针占4个字节,如果是64位系统,它可描述的地址空间为0~2^64-1,如果是64位的编译器,指针占8个字节。

c语言中指针占多少个字节
如果是32位编译器,那么指针占4字节 如果是64位编译器 那么指针占8字节.即 指针位数和编译器位数相同.

指针为什么是4个字节?
这个和你机器硬件和操作系统的寻址空间有关系。如果在64位机器和操作系统上面,指针是64位(8字节)。当然你也可以在64位操作系统上面用32位兼容模式,那样就是4字节了。TC是模拟的老的16位环境,所以是16位的。你的linux是32位,int就是32位。int的大小和具体的C编译器的实现有关系。可以是16,32...

C语言,int变量为什么占4个字节?32位64位又是什么意思?
int变量占的字节数取决于机器的指令字长,32位的机器指令就是4字节。32位就是32个二进制位,就是4个字节;64位就是8字节

为什么指针是4个字节
和平台有关,你在32位平台一般是4字节咯,你在64位平台一般就是8字节咯 当然了,这个也和操作系统有关,比如说你64位的cpu也支持32位模式,你用32位的windows,指针就还是32位的,你用64位的windows,自然就是64位,8字节的指针了 所以既要看你的cpu是否支持64位,也还是要看你的操作系统是什么...

在C语言中一个指针占用多少字节。
指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关。比如以前是16位系统,指针即为2个字节,现在一般是32位系统,所以是4个字节。指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的...

c语言中,指针变量为何只占4字节?
首先一个基本的概念:一个内存单元它规定是1MB,无论是32位机器还是64位机器,内存单元的大小永远都是1MB。现在,将内存地址类比为房间的门牌号码。比如0x400030的房间号码是30。例如:8位的机器 将所有的内存条插满,总共是2^8=256个内存地址。而我们知道,按照规定一个内存地址所代表的永远是1个字...

为什么指针是4个字节
我目前理解到这:指针存放内存地址,4个字节是32位,那么最大可以表示内存到4G,现在的电脑很少有超过4G的没有指针是4个字节,可是有人说和编译器有关,我想不过,还有寄存器比如AX,他们可以存放2个字节,那么在32或者64或者128位的系统瞽者CPU中,还是吗?... 展开 wanglong...

一个指针占几个字节
在 32 位 Windows 操作系统中,指针通常是4个字节。而在 64 位 Windows 操作系统中,指针通常是8个字节。在 Linux 操作系统中,指针通常都是4个字节。3. 编程语言编程语言中的指针类型所占的字节数也不同。C语言中,指针的大小与操作系统位数有关,如前所述,在32位体系结构中,指针大小为4个...

C语言中,64位电脑指针为什么只占四个字节
四个字节,32位的地址宽度,最大可以管理4GB的内存。

相似回答