Tengo problemas para crear una base de datos basada en una lista enlazada individualmente en C, no por el concepto de lista enlazada sino por los campos de cadena en la propia estructura.¿Cómo trabajar con campos de cadenas en una estructura C?
Esta es una tarea en C y hasta donde yo sé (soy novato), C no reconoce 'cadena' como un tipo de datos.
Esto es lo que se ve mi código struct como:
typedef struct
{
int number;
string name;
string address;
string birthdate;
char gender;
} patient;
typedef struct llist
{
patient num;
struct llist *next;
} list;
Estaba pensando en hacer una estructura para las cadenas de sí mismos para que pueda utilizarlos en la estructura, como esto:
typedef struct string
{
char *text;
} *string;
Luego voy a malloc()
cada uno de ellos cuando sea necesario para hacer nuevos datos del tipo de cadena (matriz de caracteres).
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);
}
¿Alguien me puede ayudar a resolver esto?
Gracias.
Usted [no debe escribir a máquina] (http://stackoverflow.com/questions/605845/doi-i-cast-the-result-of-malloc/605858#605858) mientras usa malloc. –
No. 'patient' no está declarado globalmente, es un typdef. Pero incluso si fuera global, no lo inicializaría así. – kralyk
@kralyk - correcto, me di cuenta y me corrigieron. – Attila