两个重要概念:行指针和列指针。
行指针:指的是一整行,不指向具体元素。
列指针:指的是一行中某个具体元素。
可以将列指针理解为行指针的具体元素,行指针理解为列指针的地址。
那么两个概念之间的具体转换是:
*行指针----列指针
&列指针----行指针
数组的 “[]” 其实就是取内容的意思
int main()
{
int a[3][3] = { 1,2,3,4,5,6,7,8,9 };
int *p;
p = a[2];
cout << a << endl;//代表行地址
cout << a+1<< endl;//行地址+1,地址加了4X3=12
cout << *a << endl;//取内容变成了列地址
cout << *a + 1 << endl;//列地址+1,加了一个int型内存4个字节
cout << **a << endl;//对列地址取内容得元素的值
cout << a[1] << endl;//[]取内容的意思,行地址+1后再取内容,所以是列地址
cout << *a[1] << endl;//对列地址取内容得a[1][0]元素的值
system("pause");
return 0;
}