¡Tu carrito está actualmente vacío!
Utilización de Estructuras struct{};

Así como las matrices permiten definir el tipo de variables que pueden contener varios elementos de datos del mismo tipo, ee manera similar, las Estructuras son otro tipo de datos definido por el usuario que permite combinar elementos de datos de diferentes tipos.
En C, las estructuras son una colección de variables agrupadas por conveniencia.
En C++ son lo mismo que una clase excepto que los miembros de la estructura son públicos por defecto.
struct pcb
{
String model ; // Nombre del modelo
int npd ; // Numero de pines digitales
int npa ; // Numero de pines analogicos
float volt ; // Tension de funcionamiento
} ;
void setup() {
Serial.begin(115200);
pcb PLACA_UNO_R3;
// Asignación de valores
PLACA_UNO_R3.model = "uno" ;
PLACA_UNO_R3.npd = 13 ;
PLACA_UNO_R3.npa = 5 ;
PLACA_UNO_R3.volt = 5.0F ;
// Lectura de valores
int numpd = PLACA_UNO_R3.npd ;
float voltage = PLACA_UNO_R3.volt ;
Serial.print("\nVoltaje: ");
Serial.println(voltage);
Serial.print("Numero de pines digitales: ");
Serial.println(numpd);
Serial.print("Numero de pines analogicos: ");
Serial.println(PLACA_UNO_R3.npa);
Serial.print("Modelo de PCB: ");
Serial.println(PLACA_UNO_R3.model);
}
void loop() {
}
Agregado 27/05/2024:
Definiendo una Estructura
Para definir una estructura, usa la palabra clave struct
seguida del nombre de la estructura y el cuerpo que contiene los miembros de datos.
cpp
struct SensorData {
int id;
float temperature;
float humidity;
bool status;
};
En este ejemplo, SensorData
es una estructura que contiene un entero (id
), dos flotantes (temperature
y humidity
) y un booleano (status
).
Declarando Variables de Estructura
Una vez que hayas definido una estructura, puedes declarar variables de esa estructura.
cpp
SensorData sensor1;
SensorData sensor2;
Inicializando Estructuras
Puedes inicializar las variables de la estructura directamente cuando las declaras.
cpp
SensorData sensor1 = {1, 22.5, 45.3, true};
SensorData sensor2 = {2, 23.0, 47.8, false};
Accediendo a los Miembros de la Estructura
Puedes acceder y modificar los miembros de la estructura utilizando el operador de punto (.
).
cpp
sensor1.temperature = 25.0;
Serial.println(sensor1.temperature);
Usando Estructuras en Funciones
También puedes pasar estructuras a funciones y devolverlas.
cpp
void printSensorData(SensorData sensor) {
Serial.print("ID: ");
Serial.println(sensor.id);
Serial.print("Temperature: ");
Serial.println(sensor.temperature);
Serial.print("Humidity: ");
Serial.println(sensor.humidity);
Serial.print("Status: ");
Serial.println(sensor.status);
}
SensorData updateSensorData(SensorData sensor, float newTemperature, float newHumidity) {
sensor.temperature = newTemperature;
sensor.humidity = newHumidity;
return sensor;
}
Ejemplo Completo
cpp
struct SensorData {
int id;
float temperature;
float humidity;
bool status;
};
SensorData sensor1 = {1, 22.5, 45.3, true};
SensorData sensor2 = {2, 23.0, 47.8, false};
void setup() {
Serial.begin(9600);
// Imprimir datos del sensor
printSensorData(sensor1);
printSensorData(sensor2);
// Actualizar datos del sensor
sensor1 = updateSensorData(sensor1, 24.0, 50.0);
sensor2 = updateSensorData(sensor2, 25.0, 55.0);
// Imprimir datos del sensor después de la actualización
printSensorData(sensor1);
printSensorData(sensor2);
}
void loop() {
// Nada que hacer aquí
}
void printSensorData(SensorData sensor) {
Serial.print("ID: ");
Serial.println(sensor.id);
Serial.print("Temperature: ");
Serial.println(sensor.temperature);
Serial.print("Humidity: ");
Serial.println(sensor.humidity);
Serial.print("Status: ");
Serial.println(sensor.status);
}
SensorData updateSensorData(SensorData sensor, float newTemperature, float newHumidity) {
sensor.temperature = newTemperature;
sensor.humidity = newHumidity;
return sensor;
}
Resumen
- Define una estructura con
struct
. - Declara variables de la estructura.
- Inicializa las variables de la estructura.
- Accede y modifica los miembros de la estructura con el operador de punto (
.
). - Usa estructuras en funciones para organizar y manipular datos de manera eficiente.
Esta es una manera efectiva de manejar datos complejos en proyectos con microcontroladores manteniendo el código limpio y organizado.
Etiquetas:
Comentarios
Una respuesta a «Utilización de Estructuras struct{};»
-
Una estructura es un medio para crear una unidad que contiene varios elementos de datos que pueden tener diferentes tipos de datos. También tiene la ventaja de que los elementos de la estructura tienen nombres en lugar de los números de índice que usa con una matriz.
Claro que puede tener una matriz de estructuras de la misma manera que puede tener una matriz de matrices
Deja una respuesta