#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
// Punto 1 de las instrucciones
typedef struct Test {
float f;
int32_t L;
struct Test *Next;
char Name[20];
} Test;
void print_Test_Names(Test*);
void app_main() {
// Punto 2 de las instrucciones
Test t1, t2[10];
// Punto 3 de las intrucciones
t1.f = 13.7;
strcpy(t1.Name, "Doctor");
// Punto 4 de la practica
// Crear una lista enlazada de 4 elementos
Test *t3 = (Test*) malloc(sizeof(Test));
t3->Next = (Test*) malloc(sizeof(Test));
t3->Next->Next = (Test*) malloc(sizeof(Test));
t3->Next->Next->Next = (Test*) malloc(sizeof(Test));
// Punto 5 de las instrucciones
Test *test_ptr;
test_ptr = &t2[2];
test_ptr->L = 17;
strcpy(test_ptr->Name, "Chef");
// Punto 7 de las instrucciones
// Mostrar todos los nombres de la lista enlazada
strcpy(t3->Name, "Mario");
strcpy(t3->Next->Name, "Juan");
strcpy(t3->Next->Next->Name, "Pedro");
strcpy(t3->Next->Next->Next->Name, "Laura");
print_Test_Names(t3);
while (true) {
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
// Punto 6 de las instrucciones
void print_Test_Names(Test* base) // Imprime todos los campos Nombre de una lista enlazada
{
Test* next = base;
while (next != NULL)
{
printf("Nombre: %s \n", next->Name);
next = next->Next;
}
}