黑马程序员技术交流社区

标题: 数组的指针定义区分总结 [打印本页]

作者: alvin2015    时间: 2016-1-2 22:57
标题: 数组的指针定义区分总结
一直被指针和一维数组,二维数组的定义给晕的一愣一愣的,做个总结,了结这段撕心的痛。{:2_32:}

先来区分一下指针数组和数组指针:
指针数组重在数组,定义: 数据类型  *数组名[数组长度];数组元素为指针;如:int *arr[3];
数组指针重在指针,定义: 数据类型 (*数组名)[数组长度]; 指向数组的指针;如:int (*arr)[3];
这里结合自己的理解这样来记忆的:在定义中 带括号()的就是指针,没带括号()的就是数组。

接下来区分 一维的和二维的定义:
其实在定义上 一维的和二维的指针数组和数组指针 的外在形式的定义是一样的。重点在于定义中方括号[数组长度]中的数组长度所代表的意义。
一维的 [数组长度]指的是整个数组的长度。
二维的 [数组长度]中,指针数组中代表的是数组行数, 数组指针[数组长度]代表的是数组列数(这里可以通过代码段中数组的定义确定是一维还是二维来区分意义)。


作者: 海棠依旧2046    时间: 2016-1-2 23:11
顶起,这一块我也不明白,求大神来解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2