JINGZMR 2022-10-23 17:15 采纳率: 63.6%
浏览 14

指针定位二维数组的一些小问题

我不理解代码最后的p=a、*(*(p+x)+y))是什么含义,他又是怎么定位到二维数组的具体行列呢,谢谢大家了


#include<stdio.h>
int main(){
    int a[3][4];
    int i,j,x,y;
    int (*p)[4];  //指针变量p指向包含4个整型元素的一维数组
    printf("输入:\n");
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
            scanf("%d",&a[i][j]);
        }
    }
    printf("输出:\n");
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    p=a;    //p指向二维数组的0printf("要定位的行列:\n");
    scanf("%d %d",&x,&y);    
    printf("a[%d,%d]=%d\n",x,y,*(*(p+x)+y));    //输出a[x][y]的值
    
} 

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-10-23 17:53
    关注
    
    A[B]
    *(A+B)
    *(B+A)
    B[A]
    //以上四行等价
    
    "abc"[1]
    *("abc"+1)
    *(1+"abc")
    1["abc"]
    //以上四行等价
    
    A[0]
    *(A)
    0[A]
    //以上三行等价
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月23日

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗