#include<stdio.h>
#include<stdlib.h>
#include <string.h>
typedef struct info{
int vreme_pojavljivanja;
int vreme_uklanjanja;
char *tekst;
}Info;
typedef struct clan{
Clan *prethodni;
Clan *sledeci;
Info *prevod;
}Clan;
Clan *novi_clan(char *tekst, int vreme_poc, int vreme_kraj, int max_text);
这是我的Strukture.h文件
这是我的novi_clan.c文件
#include "strukture.h"
Clan *novi_clan(char *tekst,int vreme_poc,int vreme_kraj,int max_text){
Clan *novi = malloc(sizeof(Clan));
novi->prethodni = NULL;
novi->sledeci = NULL;
novi->prevod = malloc(sizeof(Info));
novi->prevod->vreme_pojavljivanja = vreme_poc;
novi->prevod->vreme_uklanjanja = vreme_kraj;
novi->prevod->tekst = calloc(max_text, sizeof(char));
strcpy(novi->prevod->tekst, tekst);
return novi;
}
它给了我像Clan没有定义的错误.. 如果有人看到错误,请回复
答案 0 :(得分:1)
改变这个:
typedef struct clan{
Clan *prethodni;
Clan *sledeci;
Info *prevod;
}Clan;
到
typedef struct clan{
struct clan *prethodni;
struct clan *sledeci;
Info *prevod;
}Clan;
由于您在实际定义之前使用了类型Clan
。
答案 1 :(得分:1)
typedef struct clan{
Clan *prethodni;
Clan *sledeci;
Info *prevod;
}Clan;
当您在此处提供结构的定义时,编译器尚未“知道”Clan
是什么;将其更改为
typedef struct clan{
struct clan *prethodni; // Don't use the typedefed name, it's not yet "available"
struct clan *sledeci;
Info *prevod;
}Clan;