数组问题????

2020-01-30 13:59发布

#include <stdio.h>
void main()
{
static int b[2][3]={{1,2,3},{4,5,6}};
static int *pb[][]={b[0],b[1]};
int i,j;
for(i=0;i<2;i++)
{
    for(j=0;j<3;j++)
        printf("b[%d][%d]=%d",i,j,*(pb[i]+j));

        printf(" ");
}
}

编译出错了,是什么问题,请大家讲解下,谢谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
Alimy
2020-01-31 00:42
本帖最后由 Alimy 于 2013-3-26 11:47 编辑

static int *    pb[]={b[0],b[1]};  // 定义一个一维指向int型数据的指针数组,且个数为两个。。
static int *    pb[][2]={b[0],b[1]};  // 定义一个二维指向int型数据的指针数组,且列数为两个,默认行数为1。。(列数必须写,不能都不写)。

static int *    pb[][]={b[0],b[1]}; // 编译器不知道你要干啥。。所以报错了


/*
static int *    pb[]={b[0],b[1]};  // 定义一个一维指向int型数据的指针数组,且个数为两个。。
看看是你要的结果么。。
C:Usersmx_AlimyDesktop>a
b[0][0]=1b[0][1]=2b[0][2]=3
b[1][0]=4b[1][1]=5b[1][2]=6


重新编辑原因:错别字。
*/

一周热门 更多>