美文网首页
数组指针和指针数组

数组指针和指针数组

作者: 里里角 | 来源:发表于2018-08-07 15:02 被阅读5次

    1.数组指针(又称行指针)

    int (*p)[n]                             //p+1时,p要跨过n个整型数据的长度
    

    二维数组赋给一指针时:

    int a[3][4];
    int (*p)[4];                                //定义一个数组指针,指向含有4个元素的一维数组
    p=a;
    p++;//从第0行指向了第1行
    

    2.指针数组

    int *p[n] //[]优先级高,先和p结合成一个数组,int *表明其存放的元素是指向整型的指针;
    //p+1时,p指向下一个数组元素
    

    二维数组赋给一指针数组:

    int *p[3];
    int a[3][4];
    for(i=0;i<3;i++)
    p[i]=a[i];
    

    小结:
    数组指针只是个指针变量,它占有内存中一个指针的存储空间。指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。

    用来指向二维数组时:

    1.   *(p[i]+j)
    2.   *(*(p+i)+j)
    3.   (*(p+i))[j]
    4.    p[i][j]
    /*指同一个元素*/
    

    优先级:()>[]>*

    相关文章

      网友评论

          本文标题:数组指针和指针数组

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