c语言菜bird问题:typedef int VexType; typedef VexType jz[MAX][MAX];这样是在预定义什么?

在上数据结构,表示图的时候遇见这样预定义:

{#define MAX 10
typedef int VexType;
typedef VexType jz[MAX][MAX];
jz wxt={0};
int n1=0,e1=0;
int n2=0,e2=0;
int n3=0,e3=0;
int n4=0,e4=0;}

我想知道前面的预定义这样是在初始化图吗?还是在干什么?
希望genius可以教教我数据结构,我是真的不太理解teacher每天讲的那些初始化什么什么的。感觉好笼统还是我c学的太差了
typedef VexType jz[MAX][MAX] 我不把int替换成VexType 直接写成 int jz[MAX][MAX]可以吗?


void output(jz G,int n)
{
  int i,j;
  for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            printf("%2d",G[i][j]);
        }
        printf("\n");
    }
}
void creat_wxt()
{
    int i,h,l;
    printf("请输入无向图的顶点数:\n");
    scanf("%d",&n1);
    printf("请输入无向图的边数:\n");
    scanf("%d",&e1);
    printf("无向图的顶点编号为1到%d。\n",n1);
    for(i=1;i<=e1;i++)
    {
        printf("请输入第%d条边的两个顶点编号,如1+2:\n",i);
        scanf("%d+%d",&h,&l);
        wxt[h][l]=1;
        wxt[l][h]=1;
    }
   printf("此无向图的邻接矩阵为:\n");
}
int main()
{
    int chose=0;
    printf("1:创建无向图");
    scanf("%d",&chose);
        creat_wxt();
        output(wxt,n1);
        return 0;
}

受徒儿一拜!
可以加个教教我这个菜菜吗~

typedef VexType jz[MAX][MAX] 直接写成 int jz[MAX][MAX]可以的。