关于C语言指针 地址 字节的问题

如题所述

第1个回答  2019-08-01
int型在编译器里是4个字节,你定义一个int型的指针,这个指针指向的就站4个字节,
变量i也占4个字节,因为他是整形,所以4个字节,这4个字节里放的是0或者1,也就是4的二进制。占4个字节的地址
p指向i,是的,p就是i4个字节中的首地址,4是存放在以这个首地址连续的4个字节中,1个字节8位,第一位代表符号,0代表正数,1代表负数,1个字节表示的数的大小限制比较小,4个字节表示一个数就可以表示比较大的数,1个字节最大的正数是2的7次方-1,4个字节就是2的31次方-1.

关于c语言指针的一些问题。
1、不是说系统64位它就是8字节,而是受限于地址总线的字节宽度,你的地址总线是64位的即指针就是8字节的,但是现在的64位个人pc多半是x86-64能兼容32位的应用程序。2、有,你64 位的机器,它的虚拟内存可以到8TB,如果你在64位机上装个32位的windows你会发现,我的个去……慢的要死(我犯过...

c语言中指针计算的问题
问题一:2010H是内存地址的表示形式。内容中的地址都是以十六进制表示的。H表示这是个十六进制数。问题二:2010H-2000H=10H。这是个十六进制数。一个字节用一个地址表示。10H转换成十进制数就是16。这就表示2010H和2000H这两个地址之间相差16个字节。因为浮点数组,每个元素占4个字节,16\/4=4。所...

指针指向的地址是什么地址?为什么整型指针加1后转换为int型加了4_百 ...
在编程中,理解指针指向的地址至关重要。当讨论指针指向地址时,我们实际上在讨论存储变量数据的内存位置。具体而言,变量在内存中的存储方式取决于其数据类型。例如,对于整型变量(int),通常占用4个字节。当我们谈论整型指针加1后为什么会增加4时,这涉及到内存的连续性。在C语言中,指针通过存储变量的...

C语言 指针占4个字节 指针应该包含了一个数据地址 那这个数据地址占多大...
第二、指针大小为4个字节时,它就可以索引4g范围中任何一个值。第三、指针这4个字节自然也在内存中的,但它可以不由其他指针指向,否则就没完没了了。它的相对位置在编译时已经确定了,程序从main起点执行后,只要访问这个相对位置,取出其中的值,就可以找到指针包含的内容。反映到汇编上,就是有无 ...

C语言中一个指针占用多少字节
所以四个字节咯。指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关。指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。

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

c语言中,指针变量为何只占4字节?
在C语言中,一般认为内存是一个大的字节数组,基本单位是字节,每一个字节包含一个地址,有多少个地址,是有CPU的地址总线位数决定的,所有的地址一般称作地址空间,比如32位的cpu,地址总线的位数是32位,它可描述的地址空间为0x0000 0000 0000 0000 ~ 2^32 - 1,正是因为此,所以在32位的系统上...

C语言关于地址的问题
第一个是将a作为int *解释,这个时候地址(一般)就会+4个字节偏移。这个是指针的加减运算规律。第二个加一个字节的偏移位置,最后一个从int角度加1…因此分别会访问不同的位置进行解释。。

C语言指针问题
(*ptr)[5]是一个数组指针,长度为10个字节(16位编辑器,即5个int,每+1在内存上就移到下一个10字节),而arr[4][5]长度是20个int,ptr+3就刚好移到第13个int上,验证了楼上输出为30的结果(他的数组赋值第13个值为30)。为至于楼上调试出C输出结果为13,是因为ptr是首地址,+1后移到...

C语言数组和地址问题
1、字符数组c在内存中占用4个字节,值分别为8,2,0,0 2、强制转换后,整型指针p指向这个字符数组的起始位置(当前情形为值8所在的那个地址)3、在小端格式下,p指向的整数被解释为00000208。这个16进制值(208)对应10进制值520。这里的16进制表示只是为了便于显示,大家都知道实际上是以2进制存储的...

相似回答