一包笼子 2024-01-07 21:43 采纳率: 83.3%
浏览 7

c语言二维数组和指针的相关问题

二维数组和指针
arr是个1010的二维数组,(num)[10]是一个指针数组,num相当于指向了一个一维数组,定义*p来指向num来表示一维数组里面的值,但是不知道为啥int *p=num会报错。循环里的想法是希望行列互换(例如:num[0][1]和num[1][0]),但不知道这样表达对不对,用int定义t是觉得**p表示的是一个int值。

void reverse_cube(int (*num)[10],int m,int n){
    int t;
    int *p;//这里出现了问题
    *p=num;
    if(m==n){
        for(int i=0;i<m;i++){
            t=**(p+i);//这里也有问题
            **(p+i)=*(*p+i);
            *(*p+i)=t;
        }
    }
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            printf("%d",arr[m][n]);
        }
        printf("\n");
    }
}
  • 写回答

3条回答 默认 最新

  • .starch 2024-01-07 21:55
    关注

    int **p = num;
    or

    int *p =num[0];

    评论

报告相同问题?

问题事件

  • 创建了问题 1月7日

悬赏问题

  • ¥15 51单片机PN532刷卡原理图代码
  • ¥15 matlab如何不显示绘图而保存为能打开的fig图片?
  • ¥15 oracle数据库备份、
  • ¥15 关于Finetune模型,CUDA error: device-side assert triggered 报错
  • ¥15 能将阿里云上多个设备的信息能上传给小程序吗
  • ¥50 QT6.7 Camera预览窗口,camera分辨率设置
  • ¥15 车机是安卓4.4.3,车机没有gps,我想用外置蓝牙gps。所以在用安卓模拟位置服务时候,我下载的相关软件不显示在列表里
  • ¥15 matlab水位控制系统(详解)
  • ¥15 CST软件仿真,已知中心线方程构建图形
  • ¥15 supLink 用户定位