C语言第28课:理解二维数组地址的概念,与一维数组比较地址偏移时的不同( 二 )
示例代码1
上述这段C语言代码 , 会跟我们平常多数时候写的数组的代码不一样 , 在实际开发中 , 我们不要写较为生僻的代码写法 , 我们就使用最常用的写法就好了 。 只是在这里我们为了更加理解数组的本质 , 所以我们暂时先稍微来了解一下这样的写法 。
第7行定义了一个一维数组str , 有三个字符型元素:“a”、“b”、“c”
在第12行、第15行 , 我们见到了一种较为奇怪的写法:(str+1)[0
, (str+2)[0
这两种写法 , 就等同于这样写:str[1
、str[2
, 也就是都是起到获取相关下标具体元素值的作用 。
这里的str+1 , 是表示数组的起始位置往后偏移一个地址单位 。 因为这里是字符型(char) , 一个字符型变量占据一个字节 , 所以str+1之后的值 , 比str的值大1个字节 。
但是如果是int类型的变量 , 它占据4个字节 , 那么如果是往后偏移一个地址单位的话 , 就会比之前的地址编号大4个字节了 。
推荐阅读
- FMVP|Scout的FMVP争议过大,根本原因在于观众不理解什么是FMVP!
- |MT 正在让游戏本地化质量变得更差?
- 伊隆·马斯克|EDG夺冠翻译小姐姐火了!穿印花旗袍大秀中国美,三门语言切换超牛
- edg战队|EDG赛后美女翻译上热搜!精通4国语言为国争光,网红学霸颜值高!
- |“Chovy打法不适合职业!”Doinb点评S赛中单,Cryin游戏理解很好!
- 炸弹人|DK惊险拿下胜利,扣马第五局关键BP带起节奏,史一教游戏理解真强
- dota2|Dota2-单车老师疯狂吐槽7.30e:设计师对这个游戏的理解有问题!
- 坦克英雄|LOL又一坦克英雄被玩坏!既能当刺客又能当战士,绝活哥理解领先版本
- 典韦|王者荣耀:典韦出末世,这是高端理解呢,还是说确实很香
- 我的世界|我的世界:为什么“梗图”很好玩,玩家:每看一次都有不同的理解