|
1
0
你的方法不起作用,因为指针
您应该从堆中分配数组并更改API,以便测试分配错误。 以下是修改后的版本:
这是一种替代方法,其中
|
|
|
2
0
如注释中所述,2D数组与指针数组不同。你还需要考虑寿命。在函数中声明的数组具有自动生存期,在函数返回后不再有效。
为了适应这种情况,你需要
动态
在结构体中分配数组。
检查以确保
例如。
通过返回一个指向该结构的指针,而不是按值返回该结构,您可以:
您会发现将问题分解为高度集中的函数很有用。一个函数用于分配如上所示的矩阵,另一个函数则用于获取正确分配的矩阵并填写。这样,您就可以单独调试分配,而不必担心放入其中的数据。 |
|
|
3
0
为了更清楚,让我们首先详细说明函数中发生了什么
在本声明中
这相当于以下声明
声明了两个数组:二维可变长度数组
在此之后for循环
阵列
在这个for循环中
二维数组
现在,具有指针类型的元素是怎样的
由于指针算法
在此结构类型的对象声明中
初始化器列表等效于以下内容
因为表达式中使用的数组(很少有例外)会隐式转换为指向其第一个元素的指针。
作为数组的元素类型
现在让我们考虑一下这些嵌套的for循环中发生了什么
表达
现在注意数组
您需要动态分配数组,如其他答案所示。 |
|
|
Paul Williams · 迭代数组时输出有问题 1 年前 |
|
|
Omprakash · 使用Google工作表中的多行和多列进行筛选 1 年前 |
|
|
Genki · Bash:如何从多维数组中的命名键获取值 1 年前 |