Segmentation fault: 11 in Visual Studio Code M1 chip

Hi! Can you help me?

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> struct Farmacie { char *denumire; int nr_angajati; float *salarii; int an_infiintare; }; struct Farmacie initializare(const char *denumire, int nr_angajati, float *salarii, int an_infiintare) { struct Farmacie f; f.nr_angajati = nr_angajati; f.an_infiintare = an_infiintare; f.denumire = malloc((strlen(denumire) + 1) * sizeof(char)); strcpy(f.denumire, denumire); f.salarii = malloc(sizeof(float) * nr_angajati); for (int i = 0; i < nr_angajati; i++) { f.salarii[i] = salarii[i]; } return f; }

void afisareFarmacie(struct Farmacie f) { printf("Denumire: %s, infiintata in: %d", f.denumire, f.an_infiintare); printf(", nr. angajati: %d, cu salariile: ", f.nr_angajati); for (int i = 0; i < f.nr_angajati; i++) printf("%5.2f, ", f.salarii[i]); printf("\n"); } struct Farmacie copiere(const struct Farmacie f2) { struct Farmacie aux; aux.an_infiintare = f2.an_infiintare; aux.nr_angajati = f2.nr_angajati; aux.denumire = malloc((strlen(f2.denumire) + 1) * sizeof(char)); strcpy(aux.denumire, f2.denumire); aux.salarii = malloc(sizeof(float) * f2.nr_angajati); for (int i = 0; i < f2.nr_angajati; i++) { aux.salarii[i] = f2.salarii[i]; } return aux; }

struct Farmacie *adaugaFarmacieInVector(struct Farmacie *farmacii, struct Farmacie f, int *nr) { *nr = *nr + 1; struct Farmacie *aux = malloc(sizeof(struct Farmacie) * (*nr)); for (int i = 0; i < *nr - 1; i++) aux[i] = farmacii[i]; aux[*nr - 1] = copiere(f); return aux; }

int calculNrAngajati(struct Farmacie *farmacii, int nr) { int nrTotalAngajati = 0; for (int i = 0; i < nr; i++) { nrTotalAngajati += farmacii[i].nr_angajati; } return nrTotalAngajati; }

struct Farmacie citireFisier(FILE *f) { struct Farmacie aux; char buffer[30]; fscanf(f, "%s", buffer); aux.denumire = malloc(strlen(buffer) + 1); strcpy(aux.denumire, buffer); fscanf(f, "%d", &aux.nr_angajati); aux.salarii = malloc(sizeof(float) * aux.nr_angajati); for (int i = 0; i < aux.nr_angajati; i++) { fscanf(f, "%f", &aux.salarii[i]); } fscanf(f, "%d", &aux.an_infiintare); return aux; }

int main() {

FILE *file = fopen("farmacie.txt", "r");
struct Farmacie fis = citireFisier(file);

afisareFarmacie(fis);

}

Segmentation fault: 11 in Visual Studio Code M1 chip
 
 
Q