Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Punteros a Structs | Trabajando con Punteros y Structs
Dominio de las Estructuras en C

bookPunteros a Structs

El lenguaje de programación C permite crear punteros no solo a tipos de datos regulares sino también a estructuras (ya que una estructura es un tipo de dato personalizado).

La declaración e inicialización de un puntero se realiza así:

struct <name_of_struct>
{
    <field_of_struct>;
};

struct <name_of_struct>* <name_of_pointer>;

Si <name_of_pointer> es un puntero a una estructura,
entonces *(<name_of_pointer>) es la propia estructura.

Para acceder a los campos de una estructura a través de un puntero, se debe utilizar el operador ->.

Note
Nota

-> es un análogo del operador de acceso a estructuras .

main.c

main.c

copy
12345678910111213141516171819202122
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }

Este programa muestra cómo trabajar con una estructura Point que almacena dos coordenadas, x y y. En la función main, se crea una variable p1 y se le asignan valores de coordenadas, luego se inicializa un puntero a esta estructura. Utilizando el operador ->, el programa accede a los campos de la estructura a través del puntero y muestra las coordenadas del punto en pantalla.

Tarea

Swipe to start coding

Se tiene un estudiante con calificaciones en 3 materias: Matemáticas, Física y Programación.
La tarea consiste en calcular el promedio de calificaciones del estudiante y determinar si aprobó el curso.

Dentro de la función calculateAverageAndCheck:

  1. Acceder a la calificación de cada materia utilizando el puntero.
  2. Sumar las tres calificaciones para obtener el puntaje total.
  3. Dividir el total entre 3.0 para calcular el promedio.
  4. Comparar el resultado con el umbral de aprobación de 60.
  5. Si el promedio es mayor o igual a 60, devolver true (el estudiante aprobó).
  6. En caso contrario, devolver false (el estudiante no aprobó).

Example

MathPhysicsProgrammingAverageResult
85.055.060.066.67✅ Passed
50.040.045.045.00❌ Failed
60.060.060.060.00✅ Passed

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 2
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

close

bookPunteros a Structs

Desliza para mostrar el menú

El lenguaje de programación C permite crear punteros no solo a tipos de datos regulares sino también a estructuras (ya que una estructura es un tipo de dato personalizado).

La declaración e inicialización de un puntero se realiza así:

struct <name_of_struct>
{
    <field_of_struct>;
};

struct <name_of_struct>* <name_of_pointer>;

Si <name_of_pointer> es un puntero a una estructura,
entonces *(<name_of_pointer>) es la propia estructura.

Para acceder a los campos de una estructura a través de un puntero, se debe utilizar el operador ->.

Note
Nota

-> es un análogo del operador de acceso a estructuras .

main.c

main.c

copy
12345678910111213141516171819202122
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }

Este programa muestra cómo trabajar con una estructura Point que almacena dos coordenadas, x y y. En la función main, se crea una variable p1 y se le asignan valores de coordenadas, luego se inicializa un puntero a esta estructura. Utilizando el operador ->, el programa accede a los campos de la estructura a través del puntero y muestra las coordenadas del punto en pantalla.

Tarea

Swipe to start coding

Se tiene un estudiante con calificaciones en 3 materias: Matemáticas, Física y Programación.
La tarea consiste en calcular el promedio de calificaciones del estudiante y determinar si aprobó el curso.

Dentro de la función calculateAverageAndCheck:

  1. Acceder a la calificación de cada materia utilizando el puntero.
  2. Sumar las tres calificaciones para obtener el puntaje total.
  3. Dividir el total entre 3.0 para calcular el promedio.
  4. Comparar el resultado con el umbral de aprobación de 60.
  5. Si el promedio es mayor o igual a 60, devolver true (el estudiante aprobó).
  6. En caso contrario, devolver false (el estudiante no aprobó).

Example

MathPhysicsProgrammingAverageResult
85.055.060.066.67✅ Passed
50.040.045.045.00❌ Failed
60.060.060.060.00✅ Passed

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 2. Capítulo 2
single

single

some-alt