0

我有一个二维数组resolvedStress,可以取m x n行和列。我想定义一个名为的新变量criticalData,它是一个一维数组,仅包含一行resolvedStress. 如果我想将第 4 行分配给criticalData,这样写是否正确:

float* criticalData = &resolvedStress[4 * n];

我是 C++ 新手,所以我还不是很自信!

4

3 回答 3

1

数组本身就是一个静态指针,不需要使用'&',就像你说的那样,你想指向第 4 行,所以它是 3 而不是 4,因为数组索引从 0 开始。

float* criticalData = resolvedStress[3];
于 2013-09-11T09:32:36.447 回答
0

假设您的数组组织如下:

[ row0 | row1 | row2 | .... ]

也就是说,按顺序包含矩阵行的一维数组,然后&resolvedStress[4 * n]将是一个指向的指针row4- 这实际上是数组的第 5 行(必须喜欢零索引)。

于 2013-09-11T09:41:43.880 回答
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];
于 2013-09-11T09:48:09.553 回答