| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:<我的疑惑>指针指向二维数组
只看楼主 加入收藏
向日葵的天空
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-4-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
<我的疑惑>指针指向二维数组
程序代码:
//矩阵转置
#include <stdio.h>
#define M 4
#define N 3

int main()
{
    int a[M][N]={{23,34,3},{35,35,1},{26,4,7},{33,3,2}},b[N][M];
    int *p,*q;
    int i,j;
    p=a;
    q=b;

    for(i=0;i<M;i++)
    {   
        for(j=0;j<N;j++)
   
            printf("%3d",a[i][j]);
        putchar('\n');
    }
    putchar('\n');

    for(i=0;i<N;i++)
        for(j=0;j<M;j++)
            *(q+i*M+j)=*(p+j*N+i);

    for(i=0;i<N;i++)
    {   
        for(j=0;j<M;j++)
       
            printf("%3d",b[i][j]);
           
        putchar('\n');
    }   
    return 0;
}

为啥p=a;和q=b;编译不通过,难道非得用p=a[0]或者p=&a[0][0]才行吗,疑惑中,求解~!
搜索更多相关主题的帖子: 指针 
2010-05-17 22:07
向日葵的天空
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-4-16
收藏
得分:0 
老大们给点意见啊,没人解决吗?
2010-05-17 22:36
向日葵的天空
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-4-16
收藏
得分:0 
自顶贴,求解
2010-05-17 22:37
向日葵的天空
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-4-16
收藏
得分:0 
闷上心来
2010-05-17 22:37
向日葵的天空
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-4-16
收藏
得分:0 
求解求解~!
2010-05-17 22:38
向日葵的天空
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-4-16
收藏
得分:0 
没人回,为什么?
2010-05-17 22:39
向日葵的天空
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-4-16
收藏
得分:0 
咋回事啊,大哥大姐们?赋值方法好像没错
2010-05-17 22:40
向日葵的天空
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-4-16
收藏
得分:0 
寻解!
2010-05-17 22:45
lzhq01
Rank: 2
等 级:论坛游民
帖 子:16
专家分:34
注 册:2010-4-1
收藏
得分:20 
程序代码:
#include <stdio.h>
#define M 4
#define N 3
int main()
{
    int a[M][N]={{23,34,3},{35,35,1},{26,4,7},{33,3,2}},b[N][M];
    int (*p)[3],(*q)[4];
    int i,j;
    p=a;
    q=b;
    for(i=0;i<M;i++)
    { 
        for(j=0;j<N;j++)

 
            printf("%3d",a[i][j]);
        putchar('\n');
    }
    putchar('\n');
    for(i=0;i<N;i++)
        for(j=0;j<M;j++)
            *(*(q+i)+j)=*(*(p+j)+i);
    for(i=0;i<N;i++)
    { 
        for(j=0;j<M;j++)
    
            printf("%3d",b[i][j]);
         
        putchar('\n');
    } 
    return 0;
}
  首先二维数组指针定义有错误,再者引用数组元素也有误,,详见  谭浩强第三版  P248+http://books.
2010-05-17 22:58
向日葵的天空
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-4-16
收藏
得分:0 
回复 9楼 lzhq01
谢谢,确实不应该那样定义,我想把二维数组当作一维数组处理,但是赋值那里确实错了,不应该把二维数组的首地址直接赋给指向整型数据的指针变量,谢谢提醒错误!
2010-05-17 23:42
快速回复:<我的疑惑>指针指向二维数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019710 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved