Muy bien ... mi Introducción a las estructuras de datos de CS está tan oxidada que necesito preguntar esto aquí.Tamaño total de una lista vinculada en C
Tengo una lista enlazada cuya estructura es:
struct Data_Struct {
char *Name;
char *Task;
char *Pos;
struct Data_Struct *Next;
};
typedef struct Data_Struct MyData;
Ahora, en algún momento de mi solicitud me llena la lista con los datos.
La pregunta es, ¿cómo obtengo el tamaño total de los datos almacenados allí? ¿Cuántos caracteres hay? Algo como
sizeof(MyData);
Eso devolverá el tamaño de la información almacenada en la lista.
código es apreciado.
Gracias!
EDIT: Desafortunadamente esto NO es tarea. Terminé la escuela hace más de 20 años y, francamente, nunca tuve que usar listas vinculadas en nada. Simplemente no recuerdo. Lo que estoy haciendo es repetir la lista y obtener strlen() de cada elemento y mantenerlo en un tamaño global, pero quería saber si había una mejor manera.
y NO, no necesito el tamaño de los me gusta vinculados (el recuento de nodos), solo quiero saber cuántos caracteres hay almacenados allí.
gracias
útil aplicación lista enlazada, incrusta la lista de estructura interior de los elementos de mejor ubicación y uso de memoria ligeramente menor: (tiene licencia LGPL) http://ccan.ozlabs.org/browse/ccan/list también CCAN es genial en general http: //ccan.ozla bs.org/ – Spudd86