c语言定义二维数组的三种方式(C语言学习第14篇---二级指针及二维数组)
原文首发于同名微信公号「Allen5G」,欢迎大家搜索关注,欢迎转发!
二级指针理解
一级指针保存的是数据的地址,二级指针保存的是一级指针的地址。
A), p =NULL;
B),char*p2;p = &p2;
二维数组理解
内存布局图
&p[4][2] - &a[4][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