Struktura w strukturze i dynamiczna alokacja pamięci

0

Witam napisałem taki oto program i przy inicjowaniu wielkości wskaźnika do struktury w strukturze pojawia się błąd. Próbowałem kilku sposób żaden nie działa. Proszę o pomoc i z góry dziękuje.

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct Osoba
{
	char nazwisko[20];
	struct Adres
	{
	char ulica[20];
	int nr_domu;
	}*a;
}*w;

main()
{
	int i,n;
	
	printf("podaj ile chcesz wczytac osob");
	scanf("%d", &n);
	
	w=(struct Osoba *)malloc(n*sizeof(struct Osoba)); 
	a=(struct Osoba->Adres *)malloc(n*sizeof(struct Osoba->Adres));
	for (i=0; i<n; i++)
	{
		printf("podaj nazwisko\n");
		scanf("%s",(w+i)->nazwisko);
		printf("podaj ulice\n");
		scanf("%s",(w->a+i)->ulica);
		printf("podaj numer domu\n");
		scanf("%d",&(w->a+i)->nr_domu);
	}

	for(i=0;i<n;i++)
	{
		printf("nazwisko - %s\n", (w+i)->nazwisko);
		printf("ulica - %s\n", (w->a+i)->ulica);
		printf("nr domu - %d\n", (w->a+i)->nr_domu);
	}
}
		
0

w=(struct Osoba )malloc(nsizeof(struct Osoba));
for(i=0;i<n;++i) w[i].a=(struct Osoba::Adres*)malloc(sizeof(struct Osoba::Adres));

1 użytkowników online, w tym zalogowanych: 0, gości: 1