Buenas señores tengo una duda haber .............con arreglo de estructuras se que se usa en algunos casos sizeof(buffer) para conoces el tamaño del arreglo que poseen todas las estructuras .ya ahora mi duda es se usa el mismo sizeof(buffer) en una lista enlazada o no es necesiro o se usa otro metodo mmmm.........
En una lista enlazada no puedes hacer eso, bueno, si lo puedes hacer, pero no en los términos de obtener el resultado esperado.
Si lo haces sobre un array, te dará el tamaño de dicho array porque está situado en zonas de memoria contiguas.
PERO con listas enlazadas, esto no se cumple, ya que la inserción de cada nodo pudo haber sido contigua o no pero no cuentan como la misma estructura (array), y por tanto, no están en zonas contiguas de memoria.
Necesitas de alguna forma guardar el tamaño de tu lista. Alguna variable que incrementa cada vez que añades un nodo.
Guardar el tamaño de la lista es la forma más performante de devolverlo cuando se solicita, pero bien puedes calcularlo recorriendo la lista hasta alcanzar el último nodo (donde next == NULL)