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

[复制链接]
3804|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 | 显示全部楼层
一个地址是一个字节,不是一个比特。
梦幻泡影 发表于 2018-7-20 17:16 | 显示全部楼层
你把地址想象成门牌号,每个房间可以容纳8个人就好了
 楼主| yanghelovehuang 发表于 2018-7-23 14:42 | 显示全部楼层
梦幻泡影 发表于 2018-7-20 17:16
你把地址想象成门牌号,每个房间可以容纳8个人就好了

知道了 谢谢大神们, 谢谢你们的回答, 内存地址和数据没搞清楚
 楼主| yanghelovehuang 发表于 2018-7-23 14:42 | 显示全部楼层
linqing171 发表于 2018-7-19 20:59
一个地址是一个字节,不是一个比特。

知道了 谢谢大神们, 谢谢你们的回答, 内存地址和数据没搞清楚
 楼主| yanghelovehuang 发表于 2018-7-23 14:43 | 显示全部楼层
ayb_ice 发表于 2018-7-19 17:09
内存都是按字节定义的,当然是加1了

谢谢大神 明白了 就是地址和数据不同
 楼主| yanghelovehuang 发表于 2018-7-23 14:43 | 显示全部楼层
一叶倾城wwq 发表于 2018-7-19 20:56
这属于内存存放和管理的知识点,注意地址和数据要区分开,地址连续++并且往里放一个字节的数据,可以理解为 ...

谢谢大神明白了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

324

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部