如何在矩阵中使用指针.这行代码的含义是什么:int r =**(++ b);

use*_*560 2 c++ pointers matrix

我不明白为什么我的答案是4?任何人都可以解释矩阵和指针.我的意思是我知道什么是矩阵,它们是一个2行表,但我不知道如何在矩阵中使用指针,就像这里的例子:

int m[][3]={1,2,3,4,5,6,7,8,9};
int (*b)[3]=&m[0];
int r=**(++b);
std::cout << r;
Run Code Online (Sandbox Code Playgroud)

Abh*_*sal 7

在我看来,不建议在实际使用中使用指针这样的游戏,但仅限于学术理解:

int m[][3]={1,2,3,4,5,6,7,8,9};
int (*b)[3]=&m[0]; // b is a pointer to an array of 3 
                    // and is initialized to point to 1st row of m.
Run Code Online (Sandbox Code Playgroud)

.

int r=**(++b);
Run Code Online (Sandbox Code Playgroud)

这里我们先增加b.这意味着b现在指向第二行m.
然后我们取消引用它两次,给第二行中的第一个元素m(4)

  • 显然不会在任何实际工作中使用此代码语义......仍然答案非常好! (2认同)