Acceso a los Campos de Struct
Después de haber creado una estructura para describir un elemento químico, finalmente podemos interactuar con ella.
Para acceder a la información contenida en la estructura, debemos utilizar el operador ..
El operador . permite acceder directamente a los elementos (campos) de la estructura.
<struct>.<field>;
De esta manera, se obtiene acceso a un miembro de la estructura.
Intentemos mostrar información sobre el silicio en pantalla:
main.c
123456789101112131415161718192021#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Los punteros también se utilizan ampliamente para acceder a los campos de una estructura, pero esto se tratará más adelante.
Si se utiliza el segundo método para crear una variable struct, es necesario asignar un valor a silicon.name usando strcpy(), y luego mostrarlo con printf().
main.c
12345678910111213141516171819202122232425#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
La función strcpy() se utiliza para copiar la cadena especificada (“Si”) al campo name[3] de la variable creada.
Swipe to start coding
Dispone de una estructura Product que almacena información sobre un producto en una tienda: su nombre, precio y cantidad. El objetivo es calcular el costo total de un producto multiplicando su precio por su cantidad.
La función productCost recibe un parámetro de tipo Product.
- Dentro de
productCost, multiplicar el campopricepor el campoquantity. - En
main, crear un objeto Product con nombre, precio y cantidad. - Utilizar
printfpara mostrar el nombre, precio, cantidad y costo total del producto (llamando aproductCost).
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you show me an example of how to use the `.` operator with a struct?
How do I use `strcpy()` to assign a value to a struct field?
Can you explain how to display struct fields using `printf()`?
Genial!
Completion tasa mejorada a 4.35
Acceso a los Campos de Struct
Desliza para mostrar el menú
Después de haber creado una estructura para describir un elemento químico, finalmente podemos interactuar con ella.
Para acceder a la información contenida en la estructura, debemos utilizar el operador ..
El operador . permite acceder directamente a los elementos (campos) de la estructura.
<struct>.<field>;
De esta manera, se obtiene acceso a un miembro de la estructura.
Intentemos mostrar información sobre el silicio en pantalla:
main.c
123456789101112131415161718192021#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Los punteros también se utilizan ampliamente para acceder a los campos de una estructura, pero esto se tratará más adelante.
Si se utiliza el segundo método para crear una variable struct, es necesario asignar un valor a silicon.name usando strcpy(), y luego mostrarlo con printf().
main.c
12345678910111213141516171819202122232425#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
La función strcpy() se utiliza para copiar la cadena especificada (“Si”) al campo name[3] de la variable creada.
Swipe to start coding
Dispone de una estructura Product que almacena información sobre un producto en una tienda: su nombre, precio y cantidad. El objetivo es calcular el costo total de un producto multiplicando su precio por su cantidad.
La función productCost recibe un parámetro de tipo Product.
- Dentro de
productCost, multiplicar el campopricepor el campoquantity. - En
main, crear un objeto Product con nombre, precio y cantidad. - Utilizar
printfpara mostrar el nombre, precio, cantidad y costo total del producto (llamando aproductCost).
Solución
¡Gracias por tus comentarios!
single