Comment travailler avec des champs de chaînes dans une struct C?

Je vais avoir du mal à faire une base de données basée sur une liste liée individuellement dans C,
non pas à cause de la liste liée concept, mais plutôt les champs de type chaîne de la struct eux-mêmes.

C'est une affectation en C et pour autant que je sais (je suis novice), C ne reconnaît pas "chaîne" comme un type de données.

C'est ce que mon struct code ressemble à ceci:

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

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

Je pensais faire une structure pour les chaînes elles-mêmes, afin que je puisse les utiliser dans la structure, comme ceci:

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

Alors je vais malloc() chacun d'eux quand il est nécessaire de faire de nouvelles données de type chaîne de caractères (tableau de char).

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);
}

Quelqu'un peut m'aider à comprendre cela?
Merci.

source d'informationauteur fleuracia