W tym przykładzie nauczysz się przechowywać informacje wprowadzone przez użytkownika przy użyciu dynamicznej alokacji pamięci.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:
- Wskaźniki C.
- C Dynamiczna alokacja pamięci
- C struct
Ten program prosi użytkownika o zapisanie wartości noOfRecords
i przydziela pamięć dla noOfRecords
zmiennych strukturalnych dynamicznie za pomocą malloc()
funkcji.
Zademonstruj dynamiczne przydzielanie pamięci dla struktury
#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; )
Wynik
Podaj liczbę rekordów: 2 Wpisz odpowiednio nazwę przedmiotu i oceny: Programowanie 22 Wpisz odpowiednio nazwę przedmiotu i oceny: Struktura 33 Wyświetlanie informacji: Programowanie 22 Struktura 33