私は次のコードを持っています:
typedef struct AdjMatrix
{
int nodes;
int **adjMat;
} graph;
typedef struct Edge
{
int from,to,weight;
}Edge;
int main(){
...
graph *g=(graph *)malloc(sizeof(graph));
g-> adjMat = (int **)malloc(sizeof(int *) * vertices);
for( i = 0; i < vertices; i++){
g->adjMat[i] = (int *)malloc(sizeof(int) * vertices);
}
...
Edge *E = (Edge *)malloc(sizeof(Edge) * maxEdges);
int nEdges = 0;
for(i = 0; i < g->nodes ; i++){
for(j= 0; j< g->nodes; j++){
if(i <= j){
printf("%d\t%d\t%d\t\n",i,j,g->adjMat[i][j]);
E[nEdges].from = i;
E[nEdges].to = j;
E[nEdges].weight = g->adjMat[i][j];
nEdges++;
}
else
break;
}
}
}
ご覧のとおり、グラフgの要素には「->」でアクセスし、エッジEの要素には「。」でアクセスしています。グラフgの要素に「。」でアクセスすると、コンパイラがエラーをスローする理由がわかりません。または「->」によるエッジEの要素?説明してください