<分区>
Possible Duplicate:
How do I use arrays in C++?
Is 2d array a double pointer?
Two dimensional arrays and pointers
我知道这是一个非常基本的问题,但我没有通过谷歌搜索来解决这个问题。这就是我在这里发布它的原因。
在 C++ 中考虑声明 int x[10];
这是一个以 x 为基指针的一维数组,它包含数组第一个元素的地址。所以x
给我那个地址和*x
给出第一个元素。
类似的声明
int x[10][20];
x
是个什么样的变量?这里。当我做的时候
int **z = x;
编译器说它不能转换 int (*)[20]
至 int **
.为什么cout<<x;
和 cout<<*x;
给同样的值(value)??
而且,如果我将指针数组声明为
int *p[10];
那么x
之间有区别吗?和 p
(在他们的类型中)??因为当一个人声明 int x[10]
和 int *p
那么分配 x
是有效的至 p
但在二维数组的情况下不是这样吗?为什么?
有人可以帮我解决这个问题,或者提供一个很好的资源 Material 。