首页 > 编程语言 > 详细

C 指针访问数组

时间:2020-07-06 21:08:27      阅读:36      评论:0      收藏:0      [点我收藏+]

#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\n",p[i]);        
        printf("%d\n",*p++);         //两行同样效果
    }

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

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


    return 0;
}

C 指针访问数组

原文:https://www.cnblogs.com/hemage/p/13256894.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!