我知道是因为我菜才有这个感想,还是记录一下
typedef struct{
vnode* vertices;
int vexnum,arcnum;
GraphKind kind;
}alGraph;
这是一个关于图的作业,我在自己定义的数据类型中使用了指针,然后使用了alGraph的指针:alGraph* g
我给g分配了空间,然而在对于g->vertices使用时并未分配空间,因此出现一堆奇奇怪怪的错误。
for(int i=0;i<g->vexnum;i++){
printf("第%d个顶点:\n",i+1);
getchar();//清掉回车
g->vertices[i].vexData=getchar();
// putchar(g->vertices[i].vexData);
g->vertices[i].firstarc=NULL;
}
后来我分配了空间就可以了
g->vertices=(vnode*)malloc(g->vexnum*sizeof(vnode));
总结:所有的指针使用前都需要分配空间,也就是分配地址。