Showing segmentation fault(core dumped)
Please someone help me with this.
#include <stdio.h>
#include <malloc.h>
struct Graph{
int n ;
int e;
int **adj;
}*h;
struct Graph *AdjMatrix(){
int u,v,i,j;
struct Graph *G = (struct Graph *)malloc(sizeof(struct Graph));
if(!G)
{
printf("Graph cannot be created\n");
return 0;
}
printf("Enter the number of vertices and Edges\n");
scanf("%d",&(G->n));
scanf("%d",&G->e);
G -> adj = (int **)malloc(sizeof(int)*(G->n * G->n));
for(i=0;i<G->n;i++){
for(j=0;j<G->n;j++){
G->adj[i][j]=0;
}
}
printf("Enter the pairs of nodes making Edges\n");
for(i=0;i<G->e;i++)
{
scanf("%d %d",&u,&v);
G->adj[u][v]=1;
G->adj[v][u]=1;
}
return G;
}
int main(int argc, char *argv[])
{
h=AdjMatrix();
return 0;
}