Структура не видит указатель? - PullRequest
0 голосов
/ 09 июня 2019

Я должен выделять память динамически, каждый другой список, который я вижу, структура закодирована так ... не знаю, что не так.Структура объявлена ​​как:

struct CAD
{
    char hash_atual[TAM_HASH];

    char hash_anterior[TAM_HASH];

    char timestamp[TAM_TEMP];

    ALUNOS registros[REG_MAX];

    struct CAD *prox;

};

typedef struct CAD CADEIA;

...

CADEIA** criar_cadeia(CADEIA **c)
{
    CADEIA *novo;
    char hash[TAM_HASH], caracteres[62];

    c = (CADEIA**)malloc(sizeof(CADEIA*));
    novo = (CADEIA*)malloc(sizeof(CADEIA));

...

    strcpy(novo->hash_atual, hash);
    strcpy(novo->prox->hash_anterior, novo->hash_atual); --->problem here

1 Ответ

0 голосов
/ 09 июня 2019

Проблема в том, что novo->prox - это указатель на struct CAD, который не инициализирован, следовательно, он может содержать значение мусора. Прежде чем получить доступ к novo->prox, вы должны либо указать ему действительный адрес памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...