zoukankan      html  css  js  c++  java
  • C 指针访问数组


    #include<stdio.h>

    int main(void)
    {
        int li[2][3] = {
            {1,2,3},
            {11,22,33}
        };
        int *p;

        //第一种
        p = &li[0][0];
        for(int i = 0; i < 6; i++)
        {
            //printf("%d ",p[i]);        
            printf("%d ",*p++);         //两行同样效果
        }

        //第二种
        for(p = li[0]; p < li[0] + 6; p++)
        {
            printf("%d ",*p); 
        }

        //第三种
        int (*pi)[3];       //定义一个指针数组,里面的每个元素对应二维数组的一行
        pi = li;
        for(int i = 0; i < 2; i++)
        {
            for(int j = 0; j < 3; j++)
            {
                printf("%d ",pi[i][j]); 
            }
        }
        printf("%d,%d,%d,%d,%d,%d ",pi,*pi,pi[0],li[0],&li[0],**pi); 
        printf("%d,%d,%d,%d,%d,%d ",pi+1,*(pi+1),pi[1],li[1],&li[1],**(pi+1)); 
        //所以,pi = li,和pi = &li[0]是有区别的


        return 0;
    }
  • 相关阅读:
    1320. Graph Decomposition 夜
    1156. Two Rounds 夜
    1176. Hyperchannels 夜
    1227. Rally Championship 夜
    1450. Russian Pipelines 夜
    1137. Bus Routes 夜
    找回c盘空间
    IDOC
    .落叶无痕水无声
    真正写的第一篇博客吧
  • 原文地址:https://www.cnblogs.com/hemage/p/13256894.html
Copyright © 2011-2022 走看看