Struktury w C

1

mam następujące zadanie:

Zdefiniuj strukturę osoba z następującymi polami:
imię i nazwisko typu char*
płeć typu char
wiek typu int
Zdefiniuj następujące funkcje:
struct osoba * def_osoba(char * inazw, char p, int w) tworzącą osobę na stercie na podstawie podanych danych, przy czym:
tablica na imię i nazwisko musi być również zaalokowana na stercie,
show(struct osoba *) wyświetlającą podaną osobę,
del(struct osoba *) usuwającą podaną osobę.

napisałem już strukturą osoba:

struct osoba
{
char* imie[15];
char* nazwisko[20];
char plec[1];
int wiek;
};

mam pytanie, jak teraz powinny wyglądać funkcje z dalszej czesci polecenia, które mają odnosic sie do struktury?

1

Źle. Wywal te strukture do smieci, jest glupia i niezgodna z poleceniem.

2
  1. Z treści wynika, że imię i nazwisko mają być razem.
  2. char* tab[20] to tablica wskaźników, a chcesz tablicę znaków, więc masz do wyboru
char tab[20]

lub

char* tab

tablica na imię i nazwisko musi być również zaalokowana na stercie - z tego wynika, że musi to być char* (co zresztą zostało podane explicite w poleceniu)
3) Płeć ma być typu char, a nie char [1]

Jak mają wyglądać sygnatury tych funkcji, to już masz podane. Co do implementacji to z czym konkretnie masz problem?

1

struct osoba * def_osoba(char * inazw, char p, int w)
{
struct Osoba *chlopak;
chlopak = (struct Osoba *) malloc(sizeof(struct Osoba));

}

cos takiego?

1

Przypisz odpowiednie argumenty polom w strukturze i jà zwróć.

0

mi sie juz zwrocilo

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