我必须以动态方式分配内存,我看到的每一个列表,结构都是这样编码的。不知道出了什么问题。该结构的声明方式如下:
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
发布于 2019-06-10 04:52:21
问题是novo->prox
是指向未初始化的struct CAD
的指针,因此它可能包含垃圾值。在访问novo->prox
之前,您应该将其设置为指向有效的内存地址。
https://stackoverflow.com/questions/56518243
复制相似问题