打印
[C语言]

字符型数组一个元素占一字节,为什么地址是连续加1的?

[复制链接]
3180|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yanghelovehuang|  楼主 | 2018-7-19 16:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yanghelovehuang 于 2018-7-19 16:40 编辑

大家好 ,字符型数组如char str[64] ="fsdfa"; 一个元素是一个字符占一字节也就是八比特,可是为什么地址只加一呢?如:str[1]=0xbf8ef72c, str[2] = 0xbf8ef72d, str[3]=0xbf8ef72e
相当于每增加一个字符元素地址加了 0x0001,那不是表示每个字符元素只占一比特吗?为什么八比特的元素地址只增加了一比特?

相关帖子

沙发
ayb_ice| | 2018-7-19 17:09 | 只看该作者
内存都是按字节定义的,当然是加1了

使用特权

评论回复
板凳
一叶倾城wwq| | 2018-7-19 20:56 | 只看该作者
这属于内存存放和管理的知识点,注意地址和数据要区分开,地址连续++并且往里放一个字节的数据,可以理解为就像将一个数组填满一样,下标++,而后往里放

使用特权

评论回复
地板
linqing171| | 2018-7-19 20:59 | 只看该作者
一个地址是一个字节,不是一个比特。

使用特权

评论回复
5
梦幻泡影| | 2018-7-20 17:16 | 只看该作者
你把地址想象成门牌号,每个房间可以容纳8个人就好了

使用特权

评论回复
6
yanghelovehuang|  楼主 | 2018-7-23 14:42 | 只看该作者
梦幻泡影 发表于 2018-7-20 17:16
你把地址想象成门牌号,每个房间可以容纳8个人就好了

知道了 谢谢大神们, 谢谢你们的回答, 内存地址和数据没搞清楚

使用特权

评论回复
7
yanghelovehuang|  楼主 | 2018-7-23 14:42 | 只看该作者
linqing171 发表于 2018-7-19 20:59
一个地址是一个字节,不是一个比特。

知道了 谢谢大神们, 谢谢你们的回答, 内存地址和数据没搞清楚

使用特权

评论回复
8
yanghelovehuang|  楼主 | 2018-7-23 14:43 | 只看该作者
ayb_ice 发表于 2018-7-19 17:09
内存都是按字节定义的,当然是加1了

谢谢大神 明白了 就是地址和数据不同

使用特权

评论回复
9
yanghelovehuang|  楼主 | 2018-7-23 14:43 | 只看该作者
一叶倾城wwq 发表于 2018-7-19 20:56
这属于内存存放和管理的知识点,注意地址和数据要区分开,地址连续++并且往里放一个字节的数据,可以理解为 ...

谢谢大神明白了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

324

帖子

1

粉丝