我想声明一个指向矩阵并从矩阵检索回值的指针:
float *p;
float ar[3][3];
[..]//give values to ar[][]
p = ar;
//Keep on printing values in the 3 X 3 matrix
for (int i = 0; i < 10; i++)
{
p = p + i;
cout << *p << ", ";
}
最佳答案
我怀疑你在追求:
p = &ar[0][0];
也可以写成:
p = ar[0];
尽管您的 for
循环需要使用 p = p + 1;
而不是 p = p + i;
。
如果您希望循环能够按行和列访问矩阵的成员,您还可以使用指向数组的指针:
float (*p)[3];
p = ar;
for (int i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
{
cout << p[i][j] << ", ";
}
关于c - 指向矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7898849/