Hola y bienvenido de nuevo.
Tenemos otro desafío para ti.
Este desafío va a se trata de estructuras de nuevo.
Te va a hacer familiar con elementos en una estructura que
contienen un puntero.
Entonces tienes que asignar memoria para ese elemento.
También te hará familiar con declarar una estructura
como puntero y también pasar una estructura como puntero a una función.
Así que principalmente estructuras y punteros en este desafío.
Entonces necesitas escribir un programa en c que crea un puntero de estructura y
lo pasa a una función.
Crea una estructura llamada item con los siguientes miembros.
Un nombre de artículo que debería ser un puntero de carácter.
Una cantidad, que debería ser int.
Un precio debe ser flotante y la cantidad debe ser un flotador.
La cantidad que se almacena en el La estructura va
a ser esencialmente la cantidad multiplicada por el precio porque esa sería la cantidad total.
Quiero que cree dos funciones.
Quiero que crees una función elemento de lectura con nombre
que toma un puntero de estructura de tipo elemento como un parámetro debe ser un puntero.
Conocemos las ventajas de las funciones tomando punteros como argumentos en contraposición a una
estructura regular, principalmente siendo que son compatibles con versiones anteriores.
Versiones anteriores del compilador de c no funcionó con estructuras.
Y también es mucho más rápido y más eficiente cuando
pasa un puntero a una función porque no tiene que copiar todos
los elementos, simplemente copie la dirección.
Entonces vamos a tener funciones que toman como parámetros
punteros a estructuras.
Este ítem leído va a asumir.
Qué debería hacer esta función es decir, debe leer
del usuario un nombre de producto, un precio y una cantidad o el nombre de un artículo.
El contenido debe ser almacenado en el pasado en estructura.
Entonces estás pasando en un puntero a una estructura en la que
desea almacenarlo.
Quiero que crees otro función denominada elemento de impresión.
Esto también toma como parámetro puntero de estructura del elemento de tipo.
Esta función imprimirá el contenido del parámetro.
Entonces solo vas para hacer algunos printfs.
Eso será bastante básico.
En la función principal, quieres para declarar un elemento básicamente
un elemento de la estructura del puntero o declarar un elemento y un puntero de la
estructura porque entonces puede asignar al
punto del artículo, la dirección del artículo.
Y luego también necesitas asignar memoria para el puntero del nombre del elemento.
Así que recuerda, el nombre del artículo El elemento dentro de la estructura tiene carácter apuntado, lo
que significa que tiene que asignar memoria para ello.
Si fuera un personaje matriz, no tendrías que hacerlo.
Pero recuerda, cuando tienes un elemento como un puntero de carácter, todo
lo que hace es crear memoria para el dirección, el valor de ese puntero.
No crea memoria por lo que apunta.
Entonces, si asigna una constante literal para él, podría estar en cualquier lugar de la memoria.
Entonces quieres asignar memoria para ese elemento
de nombre de elemento dentro de la estructura.
El puntero del elemento debe ser pasó tanto a la lectura como
a las funciones del elemento de impresión.
Entonces, nuevamente, ¿en qué ayudará este desafío? usted está entendiendo los consejos sobre cómo
usarlos como miembro dentro de una estructura y luego también cómo
pasarlos y tienes algo de práctica con hacer algo de malloc también.
Y luego no lo olvides, cuando sea haces un malloc, tienes
que hacerlo gratis, así que asegúrate de agregue eso a su programa.
Buena suerte.
Te daré una solución en la próxima conferencia.
En cuanto al tamaño incorrecto, puede simplemente elija un tamaño arbitrario, como
30 caracteres o algo así.
No tienes que leerlo.
Hazme saber si tienes alguna pregunta. Gracias.