ag旗舰厅官网_ag旗舰厅下载客户端

热门关键词: ag旗舰厅官网,ag旗舰厅下载客户端

关于计算机

当前位置:ag旗舰厅官网 > 关于计算机 > 二维数组指针

二维数组指针

来源:http://www.pedaLyourcycLe.com 作者:ag旗舰厅官网 时间:2019-11-12 06:37

C语言笔记(二维数组与数值指针卡塔 尔(英语:State of Qatar),二维数组指针

生龙活虎、关于二维数组和二维数组差距

(1卡塔尔意气风发维数组在内部存款和储蓄器中是接二连四遍及存款和储蓄的,相近,二维数组也是在内部存款和储蓄器一而再存款和储蓄的。所以从内存的角度来解析,风流倜傥维数组和二维数组其实未有本质区别。

(2卡塔尔 二维数组能够利用风姿浪漫维数组来代表。可是在实质上的采用中,偶尔候使用二维数组会更直观,方便程序的编程。

(3卡塔尔两个在内部存款和储蓄器使用频率上是千篇一律的。

 

二、二维数组的第生龙活虎维和第二维概念

(1)例如 int a[2][5]中,前面包车型客车2代表第大器晚成维;前边的5意味着第二维

(2卡塔 尔(英语:State of Qatar) 二维数组的第风流倜傥维表示最外界的那大器晚成层,第大器晚成维自己也是三个数组,里面寄放了2个要素,那多少个成分就各自是第二维的数组。第二维数组本人也是三个数组,里面寄放的要素是平常的int型变量。

图片 1

三、二维数组的下标访谈

例1:

1      int a[2][5] = {{1,2,3,4,5},{6,7,8,9,10}};
2      int (*p)[5]; // 定义一个数组指针
3      p = a;
4      
5      printf(" a[1][2]   = %d.n", a[1][2]);     // a[1][2] = 8
6      printf("(*(p+1)+1) = %d.n", *(*(p+1)+2)); // a[1][2]

运转结果:

图片 2

 

四、关于二维数据必定要领悟的多少个暗号

例2:理解 a 、&a、 a[0]、 &a[0]、 a[0][0]、 &a[0][0]

 1 /*
 2     二维数组的几个符号的测试
 3     1、a等同于&a[0]
 4     2、a[0]等同于&a[0][0]
 5     3、在数值上 a、&a、a[0]、&a[0]、&a[0][0] 是相等的,但是在类型上面是有区别的。
 6 */
 7     int a[2][5] = {{1,2,3,4,5},{6,7,8,9,10}};
 8     
 9     printf("a        = %p.n", a);        // a       类型是 int (*)[5]
10     printf("&a       = %p.n", &a);       // &a      类型是 int (*)[2][5]
11     printf("a[0]     = %p.n", a[0]);     // a[0]    类型是 int *
12     printf("&a[0]    = %p.n", &a[0]);    // &a[0]   类型是 int (*)[5]
13     printf("a[0][0]  = %d.n", a[0][0]);  // a[0][0] 类型是 int 
14     printf("&a[0][0] = %p.n", &a[0][0]); // &a[0][0]类型是 int *

运维结果:
图片 3

 

例3:第风流罗曼蒂克维和第二维的数组指针的选择

 1     // 二维数组与指针的结合使用
 2     int a[2][5] = {{1,2,3,4,5},{6,7,8,9,10}};
 3     
 4     int (*p1)[5]; // 数组指针
 5     int *p2;      // 一般指针
 6     p1 = a;       // 等同 p1 = &a[0];     // 指向二维数组的数组名
 7     p2 = a[0];    // 等同 p2 = &a[0][0];  // 指向二维数组的第一维数组
 8 
 9     printf("a[0][2] = %d.n", *(*(p1+0)+2));  // a[0][2] = 3
10     printf("a[1][2] = %d.n", *(*(p1+1)+2));  // a[1][2] = 8
11      
12     printf("a[0][2] = %d.n", *(p2+2));       // a[0][2] = 3
13     printf("a[0][4] = %d.n", *(p2+4));       // a[0][4] = 5

运作结果:
图片 4

 

五、总结

(1卡塔尔国须要精晓二维数组的庐山真面目目和多少个暗记的含义。

(2卡塔尔二维数组和数组指针两个是有紧凑的涉及的。学会运用数组指针来操作二维数组,重在实践操作使用就能够加重驾驭。

 

注:学习笔记部分是在朱有鹏先生物联网录制教程中选用,特此注解。

生龙活虎、关于二维数组和二维数组区别(1卡塔尔生机勃勃维数组在内部存款和储蓄器中是三翻五次布满存款和储蓄的,同样,二...

本文由ag旗舰厅官网发布于关于计算机,转载请注明出处:二维数组指针

关键词:

上一篇:net功底概念总计

下一篇:没有了