数组、二维数组与指针
2017-07-19 10:55
274 查看
鉴于下面要解决的LCS问题要用到2维数组,这里就对 数组与指针,二维数组与指针做一个简单的阐述。
比如说我们建立一个数组int test[3];它代表存储了3个int类型的组合,而且3个int类型的数字在内存中是紧靠在一起的,然后将数组名解释为第一个int类型数的地址(就是指针咯),即test等于&test[0]。
![](https://img-blog.csdn.net/20170719101401206?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM3OTQ0NDMy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
那对于二维数组而言,情况又出现了哪些变化呢?见图:
![](https://img-blog.csdn.net/20170719104247713?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM3OTQ0NDMy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
以下是代码和简单说明:
#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;
//输出的三个地址是一样的,但地址内部所保存的数据类型是不同的。
}
![](https://img-blog.csdn.net/20170719105437974?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM3OTQ0NDMy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
以上~
比如说我们建立一个数组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;
//输出的三个地址是一样的,但地址内部所保存的数据类型是不同的。
}
以上~
相关文章推荐
- 二维数组与数组指针的用法
- 一道关于二维数组和指针数组的C语言笔试题目
- 指针数组的初始化方式和和用二维数组做形参
- 二维数组、行指针、指针数组、二级指针
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
- C语言中指向一位数组与二维数组的指针
- 没有躲过的坑--new一个指针数组、以及创建动态二维数组
- 数组指针,指针数组,二维数组,二维数组指针
- 大端和小端格式的区别,以及二维数组和指针数组的学习总结。
- 指针的指针,数组与指针,二维数组里指针的走位,爱心代码
- 分别用数组与指针的方法打印出二维数组
- C++数组(二维数组)与指针 以及 函数传递/返回指针和数组参数
- 二维数组和数组指针
- 11、二维数组、数组参数和指针参数
- 彻底搞清C/C++中一维数组,二维数组,指针,数组指针和指针数组以及指向指针的指针,行地址和列地址之间的关系
- 二维数组 指向二维数组的指针 指针数组 指向二维数组的指针数组
- 【C/C++语言基础学习】在主函数的定义的指针数组、二维数组通过三级指针在被调用函数分配内存
- 区分二维数组与指针数组的区别
- C++指针数组、数组指针、数组名及二维数组技巧汇总
- 复习指针数组以及如何把二维数组赋值给二维指针