Как я могу получить доступ к указателю в виде указателя структуры? с кодом сильфоном, вызывая addBow() дает мне ошибку сегментации (ядро сбрасывали) ошибкудвойной указатель на структуру внутри структуры
typedef struct
{
int size;
tCity **cities;
}tGraph;
//para iniciar el grafo
void initGraph(tGraph *graph, int size)
{
graph = (tGraph*)malloc(sizeof(tGraph));
graph->cities = (tCity**)malloc(sizeof(tCity*) * size);
graph->size = size;
}
//agrega un arco entre ciudades
void addBow(tGraph *graph, int id, tCity *city)
{
if (graph->cities[id] == NULL)
{
graph->cities[id] = city;
}
else
{
tCity *cur = graph->cities[id];
while (getNext(cur) != NULL)
{
cur = getNext(cur);
}
setNext(cur, city);
}
}
который является правильным синтаксисом для граф-> городов [ID] ??
Благодаря
РЕШЕНИЕ: редактирование InitGraph решить проблему, так как память не была выделена
tGraph* initGraph(int size)
{
tGraph *graph = (tGraph*)malloc(sizeof(tGraph));
graph->cities = (tCity**)malloc(sizeof(tCity*) * size);
graph->size = size;
return graph;
}
Он хранит там указатели. – Inspired
@Inspired. Согласовано. Обновлен ответ –
@ManojPandey Thaanks, который решает его, обновляется. – JoseMiguel