更改结构内部的结构值

下面的第二个示例是我想要在编写的第一个代码中实现的。我想问问要插入多少个“ dati”,然后我必须做一个malloc,我想问和保存每个struct的每个dato,所以,首先是struct maestra的cdfm等等。 ?我应该如何使用malloc创建数组以及如何保存所有信息?

#include <stdio.h>
#include <stdlib.h>
#define MAX 30

struct dati{
    struct maestra{
        char cdfm[MAX];
        char nomeM[MAX];
        char cognomeM[MAX];
        char specializzazioneM[MAX];
    }
    struct classe{
        int id;
        char nome[MAX];
        char colore[MAX];
    }
    struct insegnamento{
        int idclasseI;
        char cfmaestra[MAX];
    }
    struct bambino{
        char cdfB[MAX];
        char nomeB[MAX];
        char cognomeB[MAX];
        char dataNascita[MAX];
        int idclasseB;
        char dataIscrizione[MAX];
    }
}

int main () {

    struct dati *p,*q,*r,*s;
    struct maestra **p;
    struct classe **q;
    struct insegnamento **r;
    struct bambino **s;



    return 0;
} 
#include <stdio.h>
#include <stdlib.h>
#define MAX 30

struct studente{

    char nomeCognome[MAX];
    int numeroMatricola;
    float percentualeEP;

};

int main() {

    struct studente *p;

    int m,i;

    printf("Quanti studenti devi inserire: \n");
    scanf("%d",&m);

    p = malloc(m*sizeof(int));

    for (i=0; i < m; i++){
        printf("Inserisci i dati dell'utente numero %d\n",i+1);
        printf("Inserisci il nome cognome: \n");
        scanf(" ");
        fgets((p+i)->nomeCognome,MAX,stdin);
        printf("Inserisci la matricola: \n");
        scanf("%d",&(p+i)->numeroMatricola);
        printf("Inserisci la percentuale di esami passati: \n");
        scanf("%f",&(p+i)->percentualeEP);
    }
haofanawori 回答:更改结构内部的结构值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2771141.html

大家都在问