Red de conocimiento informático - Computadora portátil - ¡Preguntas en lenguaje C sobre listas enlazadas! Si has leído C Primer Plus, ¡entra!

¡Preguntas en lenguaje C sobre listas enlazadas! Si has leído C Primer Plus, ¡entra!

/*Recopila y almacena información**

A partir de un bucle while, el programa te pide que ingreses el nombre de una película cuando el valor devuelto por la función gets(). no es NULL y el carácter Cuando el primer elemento de la cadena no es nulo, el programa ingresa al cuerpo del bucle

Luego usa la función malloc() para asignar el espacio de la estructura de la película y dejar que el puntero de la estructura actual apunta a ella

En el primer bucle, head = NULL, por lo que el puntero de la cabeza apunta a actual, y luego actual->siguiente es NULL, lo que significa que no hay próxima película

Luego se llama a la función strcpy() para ingresar la cadena (es decir, el nombre de la película) que se copia en el miembro de la estructura current-gt;title

Luego el programa preguntará debe ingresar la clasificación de la película y poner el valor en current-gt;rating

Segundo Un bucle while borra la línea de entrada

El programa muestra la siguiente película y luego señala la estructura puntero anterior al actual

Al final del primer bucle, head y prev apuntan al actual. Al final del bucle, tanto el encabezado como el anterior apuntan a la actual

Cuando el nombre de la segunda película ingresada coincide con la condición del bucle while(), el programa continuará ejecutando el cuerpo del bucle

Aquí la diferencia es que en la declaración de rama, head ya no es NULL, por lo que el miembro prev-gt;next (que se ha establecido en NULL) apunta a la siguiente película. NULL) apunta a la memoria recién asignada

/*da una lista de películas

Si head sigue siendo NULL, no se ingresarán películas

De lo contrario, la entrada se imprimirá la lista de películas

Deje que el puntero de estructura actual apunte al puntero principal

¡Cuando el bucle while determine la actual! = NULL, es decir, actual no es igual al puntero nulo, luego comience a imprimir información desde el puntero principal y luego asigne current-gt; junto a actual, haga que actual apunte a la siguiente estructura y continúe imprimiendo información de la película

/*Tarea realizada, liberando así la memoria asignada*

El código original es: