V tomto příkladu se naučíte ukládat informace zadané uživatelem pomocí dynamické alokace paměti.
Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:
- Ukazatele C.
- C Dynamická alokace paměti
- C struktura
Tento program požádá uživatele, aby uložil hodnotu noOfRecords
a noOfRecords
dynamicky přidělil paměť strukturním proměnným pomocí malloc()
funkce.
Demonstrovat dynamickou alokaci paměti pro strukturu
#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; )
Výstup
Zadejte počet záznamů: 2 Zadejte název subjektu a známky: Programování 22 Zadejte název subjektu a značky: Struktura 33 Zobrazení informací: Programování 22 Struktura 33