Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Acceso a los Campos de Struct | Introducción a las Structs
Dominio de las Estructuras en C

bookAcceso 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

main.c

copy
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; }
Note
Nota

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

main.c

copy
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; }
Note
Nota

La función strcpy() se utiliza para copiar la cadena especificada (“Si”) al campo name[3] de la variable creada.

Tarea

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.

  1. Dentro de productCost, multiplicar el campo price por el campo quantity.
  2. En main, crear un objeto Product con nombre, precio y cantidad.
  3. Utilizar printf para mostrar el nombre, precio, cantidad y costo total del producto (llamando a productCost).

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 5
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

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()`?

close

bookAcceso 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

main.c

copy
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; }
Note
Nota

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

main.c

copy
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; }
Note
Nota

La función strcpy() se utiliza para copiar la cadena especificada (“Si”) al campo name[3] de la variable creada.

Tarea

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.

  1. Dentro de productCost, multiplicar el campo price por el campo quantity.
  2. En main, crear un objeto Product con nombre, precio y cantidad.
  3. Utilizar printf para mostrar el nombre, precio, cantidad y costo total del producto (llamando a productCost).

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 5
single

single

some-alt