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

Tutorial básico de linguagem C

Controle de fluxo de linguagem C

Função do C

Array do C

Ponteiro do C

String do C

Estrutura de linguagem C

Arquivo de linguagem C

Outros C

Manual de referência do C

Alocação dinâmica de memória de estrutura em C

大全 de exemplos de programação do C

Neste exemplo, você aprenderá a armazenar as informações inseridas pelo usuário usando alocação dinâmica de memória.

Para entender este exemplo, você deve conhecer o seguinteProgramação em CTema:

Este programa requer que o usuário armazene o valor de noOfRecords e aloque memória dinamicamente para a variável de estrutura noOfRecords usando a função malloc().

Alocação dinâmica de memória de estrutura demonstrativa

#include <stdio.h>
#include <stdlib.h>
struct course {
    int marks;
    char subject[30];
};
int main() {
    struct course *ptr;
    int i, noOfRecords;
    printf("Insira o número de registros: ");
    scanf("%d", &noOfRecords);
    //alocação de memória para a estrutura noOfRecords
    ptr = (struct course *)malloc(noOfRecords * sizeof(struct course));
    for (i = 0; i < noOfRecords;) ++i) {
        printf("Insira o nome do tópico e o nome do marcador:\n");
        scanf("%s %d", (ptr + i)->subject, &(ptr + i)->marks);
    }
    printf("Mostrar informações:\n");
    for (i = 0; i < noOfRecords;) ++i)
        printf("%s	%d\n", ptr + i)->subject, ptr + i)->marks);
    return 0;
}

Resultados de saída

Insira o número de registros: 2
Insira o nome do tópico e do marcador separadamente:
Programação
22
Insira o nome do tópico e do marcador separadamente:
Estrutura
33
Exibir mensagem:
Programação      22
Estrutura        33

大全 de exemplos de programação do C