美文网首页
1. 指向二维数组的指针

1. 指向二维数组的指针

作者: 陈忠俊 | 来源:发表于2020-02-24 14:31 被阅读0次

指向多维数组的指针变量
把二维数组 a 分解为一维数组 a[0],a[1],a[2]之后,设 p 为指向二维数组的指针变量。
可定义为:

int (*p)[4] 

它表示 p 是一个指针变量,它指向包含 4 个元素的一维数组。若指向第一个一维数组
a[0],其值等于 a,a[0],或&a[0][0]等。而 p+i 则指向一维数组 a[i]。从前面的分析可得
(p+i)+j 是二维数组 i 行 j 列的元素的地址,而(*(p+i)+j)则是 i 行 j 列元素的值。
二维数组指针变量说明的一般形式为:

类型说明符 (*指针变量名)[长度]

其中“类型说明符”为所指数组的数据类型。“*”表示其后的变量是指针类型。“长度”表示
二维数组分解为多个一维数组时,一维数组的长度,也就是二维数组的列数。

#include<stdio.h>

int main(){
    int a[4][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    int *p;
    p = &a[0][0];

    int i, j;
    for(i = 0; i < 4; i++){
        for(j = 0; j < 4; j++){
            printf("%4d", *(p + 4 * i + j));
        }
    }
    printf("\n");

    int (*pp)[4]; 
    pp = a;
    for(i = 0; i < 4; i++){
        for(j = 0; j < 4; j++){
            printf("%4d", *(*(pp + i) + j));
        }
        printf("\n");
    }
    return 0;
}


#include<stdio.h>

int main(void)
{
    // a[i] = *(a + i)
    int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
    int i, j;
    printf("1:----\n");
    for(i = 0; i < 3; i++){
        for(j = 0; j < 4; j++){
            printf("%4d", *(a[i] + j));
        }
        printf("\n");
    }
    printf("2:----\n");
    for(i = 0; i < 3; i++)
    {
        for(j = 0; j < 4; j++)
        {
            printf("%4d", *(*(a + i) + j));
        }
        printf("\n");
    }
    return 0;
}

相关文章

  • 笔记八

    二维数组指针:一定要知道指针的指向!!即指针指向哪里。指针的运算:注意移动字节数问题。指针与数组的关系:指针数组:...

  • 1. 指向二维数组的指针

    指向多维数组的指针变量把二维数组 a 分解为一维数组 a[0],a[1],a[2]之后,设 p 为指向二维数组的指...

  • C扩展:指针

    1. 指针变量连续定义 试一下 2. 变量指针 vs 数组指针 变量指针:指向单个变量的指针。数组指针:指向数组的...

  • 指针操作二维数组

    指针操作二维数组 定义了一个m*n的二维数组,即a[m][n],指针p=a[0],则p+j指向a[0]数组中的a[...

  • 函数指针

    概念: 指针函数, 函数指针, 指针数组, 数组指针, 指向数组的指针, 指向函数指针数组的指针。

  • 1216笔记

    1216 C基础review: 二维数组 指针:一定要知道指针的指向,即指针指向哪里 指针的运算:注意移动字节数...

  • 2017年10月18日学习总结

    今天学习了指针数组,对于一个二维数组就可以看成一个指针数组,使用指针数组是要考虑地址,考虑指针所指向的类型,当指针...

  • 12.16学习总结

    二维数组指针:一定要知道指针的指向指针的运算:注意移动字节数的问题指针与数组的关系指针数组:int pb[4];数...

  • 数组指针和指针数组

    1.数组指针(又称行指针) 二维数组赋给一指针时: 2.指针数组 二维数组赋给一指针数组: 小结:数组指针只是个指...

  • 指针

    指针数组与数组指针 在这里数组指针是指向数组的指针,其本质为指针,指向的对象是数组。由于数组的形式多样所以数组指针...

网友评论

      本文标题:1. 指向二维数组的指针

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