示意图一:
示意图二:
第一种内存模型和第三种内存模型很像,其步长都是一个指针的长度(32位机器4字节);第二种内存模型多维数组,其步长是往后跳一个元素,即一维数组的长度,以char p2[3][10]为例,是30个字节。
无论是一维还是多维数组,在内存中的存储形式都是线性的,这是造成数组做函数参数类型退化的根本原因。
示意图一:
示意图二:
第一种内存模型和第三种内存模型很像,其步长都是一个指针的长度(32位机器4字节);第二种内存模型多维数组,其步长是往后跳一个元素,即一维数组的长度,以char p2[3][10]为例,是30个字节。
无论是一维还是多维数组,在内存中的存储形式都是线性的,这是造成数组做函数参数类型退化的根本原因。