美文网首页
关于指针与数组表示

关于指针与数组表示

作者: PLW | 来源:发表于2017-12-19 01:02 被阅读0次

    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]表示的是一个二维数组。

    相关文章

      网友评论

          本文标题:关于指针与数组表示

          本文链接:https://www.haomeiwen.com/subject/rfgvwxtx.html