首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

关于typedef的一个不解,该如何处理

2012-04-08 
关于typedef的一个不解我在看《大话数据结构》的时候,在图的这一章的第267页,看到有这样一段代码(就是最短路

关于typedef的一个不解
我在看《大话数据结构》的时候,在图的这一章的第267页,看到有这样一段代码(就是最短路径的Floyd算法):
typedef int Pathmatrix[MAXVEX][MAXVEX];
typedef int ShortPathTable[MAXVEX][MAXVEX];
然后定义了一个函数
void ShortestPath_Floyd(MGraph G, Pathmatrix *p, ShortPathTable *D)
{
  ...
}

我这里糊涂的地方就是不明白Pathmatrix这个新的类型的含义,如果我定义了Pathmatrix *p;那么p是什么呢,如何给p赋值呢?
求高手解答!

[解决办法]
就拿Pathmatrix *p来说,它等价于int (*p)[MAXVEX][MAXVEX], 即p是一个指针,它指向一个(2维,项的大小是[MAXVEX][MAXVEX])的int型数组
[解决办法]
路过,p不是个int 2D array吗?
如 int Pathmatrix[10][10]
赋值:
int i,j;
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
scanf("%d",&a[i][j]); //假设你输入从1到100
}
}
//print 出来看看
printf("\n\t result : \n");
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
printf("\t %d",a[i][j]); //应该是 1-10 第一行,11到20第2行 等等
}
printf("\n");//换个行
}
 
不对的话,同求高手解答!

热点排行