鉴于下面要解决的LCS问题要用到2维数组,这里就对 数组与指针,二维数组与指针做一个简单的阐述。
比如说我们建立一个数组int test[3];它代表存储了3个int类型的组合,而且3个int类型的数字在内存中是紧靠在一起的,然后将数组名解释为第一个int类型数的地址(就是指针咯),即test等于&test[0]。
那对于二维数组而言,情况又出现了哪些变化呢?见图:
以下是代码和简单说明:
#include<iostream>
using namespace std;
int main() {
int test[2][3] = { {1,2,3},{3,4,5} };
int* p = &test[0][0];
int(*p1)[3] = &test[1];
cout << p1 << endl << &test[1] << endl << &test[1][0]<< endl;
//输出的三个地址是一样的,但地址内部所保存的数据类型是不同的。
}
以上~