我有一个问题不太理解C语言如何为二维数组(或更高维数组)分配空间,特别是在使用malloc等函数时。以这个问题中的程序为例。
首先定义了一个一维指针数组,然后把指向1D数据(在本例中是字符串)的指针放入第一个1D数组的每个盒子中。因此不能保证整个2D数组是连续的(上一行的最后一个单元格后面是下一行的第一个单元格)。每个1D数据数组可能相距很远,只有它们的指针是连续的。我的理解是否正确?还是我漏掉了什么?如果您能帮我澄清这个问题,我会非常感激。
首先定义了一个一维指针数组,然后把指向1D数据(在本例中是字符串)的指针放入第一个1D数组的每个盒子中。因此不能保证整个2D数组是连续的(上一行的最后一个单元格后面是下一行的第一个单元格)。每个1D数据数组可能相距很远,只有它们的指针是连续的。我的理解是否正确?还是我漏掉了什么?如果您能帮我澄清这个问题,我会非常感激。