关于指针与数组表示

1、一维数组

定义一个指针P

赋值p=&a[0]

a+i=&a[i]=p+i

*(a+i)=a[i]      仅当p指向数组的首地址时,指针下标表示法引用数组元素。p[i]=*(p+i)=a[i]



2、二维数组

(1)行指针。

定义格式:类型关键字 (*p)[常量N]

例如:int (*p)[4]表示定义了一个可指向4个整型数的一维数组的指针p(常量N规定了行指针所指向的一维数组的长度,不可省略)

初始化方法:p=a或p=a[0]。其中a表示二维数组的首地址相当于&a[0][0]。而a[0]表示二维数组时为a[0]+0,即&a[0][0]

用行指针表示二维数组a[i][j]各等价形式:

p[i][j]

*(p[i]+j)

*(*(p+i)+j)

(*(p+i)[j])

(2)列指针

定义格式:和普通变量指针定义格式相同。

例如;int *p表示定义了一个列指针p

初始化方法:p=a[0]或p=*a参照行指针初始化时的解释。

用列指针表示二维数组a[i][j]的各等价形式:

*(p+i*n+j)

p[i*n+j]

注意:不能用p[i][j]表示a[i][j].实际上通过列指针引用二维数组a[i][j],后可将二维数组看成一个有m行*n列个元素组成的一维数组。而p[i][j]表示的是一个二维数组。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,808评论 3 44
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 11,527评论 1 42
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 9,521评论 2 13
  • 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...
    小狮子365阅读 13,641评论 3 71
  • 有时候感觉自己读了很多书,可是依然觉得自己读的书太少,从来都不够用。我真的很喜欢读书,读到忘乎所以。从来都不会有忧...
    爱在初雪阅读 1,423评论 1 1