C语言第28课:理解二维数组地址的概念,与一维数组比较地址偏移时的不同( 四 )


代码示例2

上述这段C语言代码中 , 第8行定义了一个二维数组str , 有两行三列 。 在第17行 , 输出二维数组的第一维中每个元素的内存首地址 , 最终程序运行效果如下所示:

程序运行效果

在程序运行效果中 , 可以看到:str+0的内存地址是:62FE40 , str+1的内存地址是:62FE43 , 也就是每当str这个二维数组的首地址 , 往后偏移一个单位的时候 , 实际上后面的内存地址比前面的地址多了三个字节 , 这就是因为str[0
和str[1
都是指向一个包含三个字符型元素的一维数组 , 内存中都占据三个字节 。

在这里关于内存地址偏移的相关知识点 , 更多的会在后面的“指针”章节中再去讨论 。 我们在现阶段暂时先略微了解一下二维数组名 , 每当往后偏移一个单位的时候 , 实际上是偏移了所对应的每个一维数组所占据的字节总个数 。

今天我们就暂时先学到这里 , 我们下一节课再见!

推荐阅读