我有一个名为resolvedStress
的二维数组,它可以占用m x n
行和列。我想定义一个名为criticalData
的新变量,它是一个仅包含一行resolvedStress
的一维数组。如果我想将第4行分配给criticalData
,编写是否正确:
float* criticalData = &resolvedStress[4 * n];
我是C ++的新手,所以我还不太自信!
答案 0 :(得分:1)
数组本身是一个静态指针,不需要使用'&',再次如你所说wana指向第4行所以它将是3而不是4,因为数组索引从0开始。
float* criticalData = resolvedStress[3];
答案 1 :(得分:0)
假设您的数组按如下方式组织:
[ row0 | row1 | row2 | .... ]
也就是说,一个1D数组按顺序包含矩阵的行,然后&resolvedStress[4 * n]
将是row4
的指针 - 实际上是数组的第5行(得爱零索引)
答案 2 :(得分:0)
如果要访问m X n数组的第四行,可以访问每一行
resolvedStress[0] will point to first row of the 2D array.
resolvedStress[1] will point to second row of the 2D array.
...
resolvedStress[m-1] will point to mth row of the 2D array.
对于你的情况,它将是
float* criticalData = resolvedStress[3];