Przekazywanie tablicy struktur

0

Witam
//opis programu
Program ma zainicjalizowac tablice struktur, przekazać ja z pomocą wskaźnika do funkcji wyświetlacz, a następnie wyświetlić to co jest w drugim elemencie tablicy
//problem
nie mogę wywołać konkretnego składnika za pomocą instrukcji (*dane)[1].wiek jak i dane[1]->wiek. Jak to zrobić?

//kod programu

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct disel
{
	int wiek;
	char imie[40];
};

void wyswietlacz(struct disel *dane);
int main(void)
{
	struct disel milen[3]=
	{
		{
			15,{"Innocenty"}
		},
		{
			18,{"Mikolaj"}
		},
		{
			14,{"Konrad"}
		}
	};
	wyswietlacz(milen);
	return 0;
}

void wyswietlacz(struct disel *dane)
{
	printf("%d %s",dane[1]->wiek,dane[1]->imie);
}
 
1

Przekazujesz wskaźnik na tablice struktury a nie wskaźnik na tablice wskaźników do tej struktury, więc do składowych i-tego elementu powinieneś odwoływać się tak samo jak do składowych zwykłego obiektu: dane[1].imie.

0

Racja, dziękuje :D

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