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;
    }
  • 相关阅读:
    算法提高 身份证号码升级
    枚举排列
    排列数
    算法训练 K好数
    算法训练 前缀表达式
    算法训练 区间k大数查询
    最大最小公倍数
    Anagrams问题
    Uiautomator 2.0
    Uiautomator 2.0
  • 原文地址:https://www.cnblogs.com/hemage/p/13256894.html
Copyright © 2011-2022 走看看