C/Visual C - Br.

 
Vista:

Br.

Publicado por Manlio Moreno (2 intervenciones) el 18/10/2002 12:42:17
Quisiera saber si puedo declarar un arreglo de tipo Struct, es decir, pimero defino la estructura y después defino mi arreglo o vector del tipo de la Struct que cree.
Grax
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Declaración de un arreglo de estructuras en C/C++

Publicado por Alejandro (913 intervenciones) el 27/03/2025 18:31:32
Sí, puedes declarar un arreglo de tipo `struct` en C/C++. Primero, defines la estructura y luego puedes crear un arreglo (o vector) de esa estructura. A continuación, te muestro cómo hacerlo con un ejemplo.

1. Definición de la estructura


Primero, defines la estructura utilizando la palabra clave `struct`. Aquí tienes un ejemplo de una estructura llamada `Estudiante`:

1
2
3
4
5
6
7
8
#include <iostream>
#include <string>
 
struct Estudiante {
    std::string nombre;
    int edad;
    float promedio;
};

2. Declaración del arreglo de estructuras


Después de definir la estructura, puedes declarar un arreglo de `Estudiante`. Aquí hay un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main() {
    // Declarar un arreglo de 5 estudiantes
    Estudiante estudiantes[5];
 
    // Inicializar los datos de los estudiantes
    estudiantes[0] = {"Juan", 20, 8.5};
    estudiantes[1] = {"María", 22, 9.0};
    estudiantes[2] = {"Pedro", 21, 7.5};
    estudiantes[3] = {"Ana", 19, 8.0};
    estudiantes[4] = {"Luis", 23, 9.5};
 
    // Imprimir los datos de los estudiantes
    for (int i = 0; i < 5; i++) {
        std::cout << "Nombre: " << estudiantes[i].nombre << ", Edad: " << estudiantes[i].edad << ", Promedio: " << estudiantes[i].promedio << std::endl;
    }
 
    return 0;
}

3. Descripción del código


- Definición de la estructura: Se define la estructura `Estudiante` con tres miembros: `nombre`, `edad` y `promedio`.
- Declaración del arreglo: Se declara un arreglo llamado `estudiantes` que puede contener 5 elementos de tipo `Estudiante`.
- Inicialización: Se inicializan los datos de cada estudiante utilizando la sintaxis de inicialización de listas.
- Impresión de datos: Se utiliza un bucle `for` para imprimir los datos de cada estudiante.

4. Uso de `std::vector` (opcional)


Si prefieres usar un vector en lugar de un arreglo estático, puedes hacerlo utilizando la biblioteca estándar de C++:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <vector>
#include <string>
 
struct Estudiante {
    std::string nombre;
    int edad;
    float promedio;
};
 
int main() {
    // Declarar un vector de estudiantes
    std::vector<Estudiante> estudiantes;
 
    // Agregar estudiantes al vector
    estudiantes.push_back({"Juan", 20, 8.5});
    estudiantes.push_back({"María", 22, 9.0});
    estudiantes.push_back({"Pedro", 21, 7.5});
    estudiantes.push_back({"Ana", 19, 8.0});
    estudiantes.push_back({"Luis", 23, 9.5});
 
    // Imprimir los datos de los estudiantes
    for (const auto& estudiante : estudiantes) {
        std::cout << "Nombre: " << estudiante.nombre << ", Edad: " << estudiante.edad << ", Promedio: " << estudiante.promedio << std::endl;
    }
 
    return 0;
}

Conclusión


Puedes declarar un arreglo de tipo `struct` en C/C++ de manera sencilla. La opción de usar un `std::vector` también es válida y proporciona más flexibilidad en la gestión de la memoria y el tamaño del arreglo. ¡Buena suerte, Manlio!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar