En este ejemplo, aprenderá a almacenar la información ingresada por el usuario mediante la asignación de memoria dinámica.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:
- Punteros C
- Asignación de memoria dinámica C
- Estructura C
Este programa le pide al usuario que almacene el valor de noOfRecords
y asigna la memoria para las noOfRecords
variables de estructura dinámicamente usando la malloc()
función.
Demuestre la asignación de memoria dinámica para la estructura
#include #include struct course ( int marks; char subject(30); ); int main() ( struct course *ptr; int i, noOfRecords; printf("Enter the number of records: "); scanf("%d", &noOfRecords); // Memory allocation for noOfRecords structures ptr = (struct course *)malloc(noOfRecords * sizeof(struct course)); for (i = 0; i subject, &(ptr + i)->marks); ) printf("Displaying Information:"); for (i = 0; i subject, (ptr + i)->marks); return 0; )
Salida
Ingrese el número de registros: 2 Ingrese el nombre del tema y las marcas respectivamente: Programación 22 Ingrese el nombre del tema y las marcas respectivamente: Estructura 33 Visualización de información: Programación 22 Estructura 33