C语⾔中指针的⼤⼩(字节数)
前⾔
今天看到char * 这⼀类型数据的⼤⼩为4个字节时,有点懵,char数据类型明明只占⼀个字节,为什么其指针却占四个字节呢?
原因
⼤家⾸先应该明⽩⼀个最基础的问题:数据的地址和数据本⾝没有任何关系,⽐如说 int a=10,a这个变量值为10,但是其地址却是⼀个和计算机处理器位数密切相关的值,如果是32位系统,那么其地址就是由这32根总线组合的某⼀个32位⼆进制数字串,⼋位是⼀个字节,那么32位就是4个字节,相对应的,64位就是8个字节。
c语言指针实验总结因此,char *说到底只是⼀个地址的序号,⽆论是char *p,还是double *p,其字节数只和计算机的位数相关,和其数据类型默认所占⼤⼩⽆关。
实验如下:
64位状态下:
32位状态下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。