Я пишу код для реализации матрицы смещения для графика. Но я получаю ошибку времени выполнения. Может кто-нибудь предложить, где я ошибаюсь?Матрица смещения графа
Код:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct Graph{
int V;
int E;
int **Adj;
};
void test(struct Graph *graph)
{
graph->E = 5;
graph->V = 4;
graph->Adj = malloc(sizeof(graph->V * graph->V));
graph->Adj[0][0] = 9;
graph->Adj[0][1] = 7;
graph->Adj[0][2] = 2;
graph->Adj[0][3] = 5;
printf("Hello %d\n",graph->Adj[0][2]);
}
int main()
{
struct Graph *graph = malloc(sizeof(struct Graph));
test(graph);
}
Если бы я сделать то же самое в основной функции он works.I не понимаю, что я делаю неправильно, когда я пишу функции тестирования и сделать это?
код, когда сделано в основной функции:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct Graph{
int V;
int E;
int **Adj;
};
int main()
{
struct Graph *graph = malloc(sizeof(struct Graph));
graph->E = 5;
graph->V = 4;
graph->Adj = malloc(sizeof(graph->V * graph->V));
graph->Adj[0][0] = 9;
graph->Adj[0][1] = 7;
graph->Adj[0][2] = 2;
graph->Adj[0][3] = 5;
printf("Hello %d\n",graph->Adj[0][2]);
}
Получение отладки выполнения error.While для test function
он работает до graph->Adj = malloc(sizeof(graph->V * graph->V));
но graph->Adj[0][0] = 9;
это дает error.Why ???
Что такое ошибка? – philo
Обновлена ошибка. –