Как работать со строковыми полями в C-структуре?

У меня возникли проблемы с созданием базы данных на основе односвязного списка в C, не из-за концепции связанного списка, а из-за строковых полей в самой структуре.

Это присваивание в C, и, насколько я знаю (я новичок), C не распознает «строку» как тип данных.

Вот как выглядит код моей структуры:

typedef struct 
{
  int number;
  string name;
  string address;
  string birthdate;
  char gender;
} patient;

typedef struct llist
{
  patient num;
  struct llist *next;
} list;

Я думал создать структуру для самих строк, чтобы использовать их в структуре, например:

typedef struct string 
{ 
  char *text;
} *string;

Затем я malloc( )каждый из них, когда требуется сделать новые данные строкового типа (массив символов).

typedef struct string
{
  char *text;
} *string;

int main()
{
    int length = 50;
    string s = (string) malloc(sizeof string);
    s->text = (char *) malloc(len * sizeof char);
    strcpy(s->text, patient.name->text);
}

Кто-нибудь может помочь мне разобраться?
Спасибо.

15
задан Adam Liss 26 September 2015 в 23:14
поделиться