指针与数组关系详解一维数组元素指针与二维数组操作

指针和数组的关系,一直是 C 语言里让人绕不清的点。指向一维数组元素的指针这个内容就讲得挺清楚的,尤其是 int a[5] = {1, 2, 3, 4, 5} 这种基本用法,配合 p=ap=&a[0] 的区别讲,比较直观。

数组名是指针常量,不能改;而指针变量 p 是可以挪的。就像是一个写死的门牌号和一张可以随便贴的便签。通过 *(p + n) 的方式访问数组元素,也蛮常见的,在多维数组场景里也经常这么用。

建议你也看看几个相关的扩展,比如指针操作二维数组》和《C 语言中的二维数组指针》,讲二维数组怎么传参、怎么取值,挺实用的。

如果你还分不清二维数组是 int a[3][4] 还是 int (*p)[4],那这些文章可以帮你理清楚概念。嗯,工作中写库函数或者数据结构的时候经常能碰上。

另外,如果你从 C++角度切入,也可以看看C++ 指针变量实参与数组名形参》,对于模板函数里怎么传数组,也有。

,这篇内容作为数组指针的入门复习还不错,细节清楚,语法点覆盖全,配合动手练一练更容易理解。

ppt 文件大小:569KB