新手-老谭教材一句话不解,求解释!
我是个初二的学生,自学老谭的教程。 今天看到多维数组与指针这里有几句话不能理解:
有一个2维数组: int a[3][4]
书中说 a代表二维数组首元素的地址,a[0],a[1],a[2]又分别代表第 0,1,2 行首元素的地址(因为他们看作为2维数组里面的一维数组)。
这些我都看懂了,我不懂的是下面的:
书中居然说:a+1和*(a+1)等价。 我就想不通了,a+1 是地址,而*(a+1) 是内容(值)吧?它们怎么会等价呢?
我百思不得其解。希望哪位高手能帮我解释下,谢谢了先!
[解决办法]
参考测试代码:
#include <iostream>
using namespace std;
int main() {
int array[2][4];
cout<<typeid(array).name()<<endl;
cout<<typeid(array+1).name()<<endl;
cout<<typeid(*(array+1)).name()<<endl;
return 0;
}