Przekazywanie tablicy struktur do funkcji.

0

Starając się nauczyć i zrozumieć struktury, napotkałem pewien (kolejny) problem.
Mianowicie.

struct student {
char imie;
};

int main()
{
struct student ogolnie[2];
scanf("%s",&ogolnie[0].imie);
printf("%s",ogolnie[0].imie);

funkcja(?);
}

void funkcja(?);
{
}

Chciałbym przekazać swoją tablice struktury

struct student ogolnie[2];

do funkcji.
Niestety nie wiem jakie parametry powinny być wpisane przy wywołaniu jej oraz jakie przy definicji.
Czy może mi ktoś pomóc ?

1

Ciekawe to imie na twój student, dlugości 1 znaku...
Jako argument funkcji podajesz dokładnie to co napisałeś jako typ który tam chcesz przekazać. A w wywołaniu funkcji podajesz zwyczajnie nazwę tej tablicy.

0

Ok działa dziękuje, ale mam jeszcze jedno pytanie.
Jeżeli np bym miał coś takiego. "a" jest podawane przez użytkownika.
To w jaki sposób mam to przekazać ?

struct student ogolnie[a];

Wywołać mogę chyba w sposób

funkcja(ogolnie,a);

tak?
Ale teraz co należy wpisać przy definicji ?
Myślałem żeby po prostu zostawić puste czyli

void funkcja(struct student ogolnie[]);

Jednak mija się to chyba z celem ?

1

? A chodzi ci o to żeby przekazać KONKRETNY element tej tablicy? To przekaż go...

funkcja(ogolnie[a]);
//
void funkcja(struct student ogolnie);

A jak chcesz przekazać tablicę o nieznanym w czasie kompilacji rozmiarze to:

funkcja(ogolnie,a);
//
void funkcja(struct student* ogolnie, int rozmiar);

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