English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base en C

Contrôle de flux en C

Fonctions en C

Tableaux en C

Pointeurs en C

Chaînes de caractères en C

Structures en C

Fichiers en C

Autres en C

Manuel de référence en C

Allocation dynamique de mémoire de structure en C programme

Collection complète d'exemples de programmation en C

Dans cet exemple, vous apprendrez à stocker les informations saisies par l'utilisateur en utilisant l'allocation dynamique de mémoire.

Pour comprendre cet exemple, vous devriez comprendre ce qui suitProgrammation en CSujet :

Ce programme nécessite que l'utilisateur entre la valeur de noOfRecords et alloue dynamiquement de la mémoire pour la variable struct noOfRecords en utilisant la fonction malloc().

allocation de mémoire dynamique de structures en C

#include <stdio.h>
#include <stdlib.h>
struct course {
    int marks;
    char subject[30];
};
int main() {
    struct course *ptr;
    int i, noOfRecords;
    printf("Entrez le nombre d'enregistrements: ");
    scanf("%d", &noOfRecords);
    //allocation de mémoire pour noOfRecords structures
    ptr = (struct course *)malloc(noOfRecords * sizeof(struct course));
    for (i = 0; i < noOfRecords;) ++i) {
        printf("Entrez le nom du sujet et du marqueur:\n");
        scanf("%s %d", (ptr + i)->subject, &(ptr + i)->marks);
    }
    printf("Affichage des informations:\n");
    for (i = 0; i < noOfRecords;) ++i)
        printf("%s\t%d\n", ptr + i)->subject, ptr + i)->marks);
    return 0;
}

Résultat de la sortie

Saisissez le nombre d'enregistrements: 2
Saisissez les noms des sujets et des tags:
Programming
22
Saisissez les noms des sujets et des tags:
Structure
33
Affichage des informations:
Programming      22
Structure        33

Collection complète d'exemples de programmation en C