c语言定义二维数组的三种方式(C语言学习第14篇---二级指针及二维数组)

原文首发于同名微信公号「Allen5G」,欢迎大家搜索关注,欢迎转发!

二级指针理解

一级指针保存的是数据的地址,二级指针保存的是一级指针的地址。

c语言定义二维数组的三种方式(C语言学习第14篇---二级指针及二维数组)(1)

A), p =NULL;

B),char*p2;p = &p2;

二维数组理解

内存布局图

&p[4][2] - &a[4][2]的值为多少?

c语言定义二维数组的三种方式(C语言学习第14篇---二级指针及二维数组)(2)

测试代码:

/* *测试代码 */ intmain() { inta[5][5]; int(*p)[4]; p=a; printf("a_ptr=%#p,p_ptr=%#p\n",&a[4][2],&p[4][2]); printf("%p,%d\n",&p[4][2]-&a[4][2],&p[4][2]-&a[4][2]); return0; } /* *输出:-4 */

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页