结构看不到指针?

时间:2019-06-09 20:43:36

标签: c

我必须以动态方式分配内存,我看到的所有其他列表,都以这种方式编码该结构..不知道出了什么问题。结构声明如下:

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 :(得分:0)

问题在于breakOut是未初始化的指向novo->prox的指针,因此它可能包含垃圾值。在访问struct CAD之前,您应该将其设置为指向有效的内存地址。