Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Jeded Vojka 28. 05. 2018, 17:19:56

Název: Parametr funkce ve Visual Studiu
Přispěvatel: Jeded Vojka 28. 05. 2018, 17:19:56
Proč je v parametru funkce v "global function and parameters" jen jeden? Když to zná hodnotu obou.(http://)
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: Jeded Vojka 28. 05. 2018, 17:26:39
https://hovhov.rajce.idnes.cz/Polivka#Global.jpg
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: x14 28. 05. 2018, 17:39:11
A jaká je hlavička té funkce?
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: Jeded Vojka 28. 05. 2018, 17:54:20
A jaká je hlavička té funkce?

Takhle ňák to tam je:
void Remove_Lines_Table(unsigned int Table[TABLE_Y][TABLE_X])
{
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: uuuuuuuu 28. 05. 2018, 17:59:11
A jaká je hlavička té funkce?

Takhle ňák to tam je:
void Remove_Lines_Table(unsigned int Table[TABLE_Y][TABLE_X])
{

To je jeden parametr Table.
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: x14 28. 05. 2018, 18:05:48
On totiž ten první rozměr pole není až tak důležitý, respektive - nemusí být na rozdíl od těch všech následujících  (pokud by šlo o více rozměrné pole) vůbec uveden.
unsigned int Table[TABLE_Y][TABLE_X] je v podstatě jen pole ukazatelů na unsigned int[TABLE_X] + zde je staticky řečeno, že jich má být TABLE_Y.
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: Jeded Vojka 28. 05. 2018, 18:09:19
On totiž ten první rozměr pole není až tak důležitý, respektive - nemusí být na rozdíl od těch všech následujících  (pokud by šlo o více rozměrné pole) vůbec uveden.
unsigned int Table[TABLE_Y][TABLE_X] je v podstatě jen pole ukazatelů na unsigned int[TABLE_X] + zde je staticky řečeno, že jich má být TABLE_Y.

Jasně.  :) X14 dík.
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: hu 28. 05. 2018, 18:10:50
On totiž ten první rozměr pole není až tak důležitý, respektive - nemusí být na rozdíl od těch všech následujících  (pokud by šlo o více rozměrné pole) vůbec uveden.
unsigned int Table[TABLE_Y][TABLE_X] je v podstatě jen pole ukazatelů na unsigned int[TABLE_X] + zde je staticky řečeno, že jich má být TABLE_Y.

Ne, neni to pole ukazatelu, je to dvourozmerne pole. To je dost rozdil.
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: Honza 28. 05. 2018, 18:49:27
Jak moc velky prosim? (netrolim, zajima me to) Mel jsem za to, ze v C je pole jen ukazatel na prvni prvek toho pole. Takze pole poli je ukazatel na prvni prvek pole ukazatelu, nebo ne?
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: x14 28. 05. 2018, 18:55:45
Ne, neni to pole ukazatelu, je to dvourozmerne pole. To je dost rozdil.
Máte pravdu, omlouvám se, není to pole ukazatelů.
Chtěl jsem jen napsat, že při předávání do funkce se předává ukazatel na pole.
Jinak ono C vlastně nemá vícerozměrná pole, vždy jsou to pole polí.
Název: Re:Parametr funkce ve Visual Studiu
Přispěvatel: x14 28. 05. 2018, 20:51:39
Abych se vyjádřil ještě lépe, následující tři typy funkcí bez problémů přijímají pole definované int arr[100][500];:
Kód: [Vybrat]
void f1 (int arr [100] [500]);
void f2 (int arr [ ] [500]);
void f3 (int (*arr) [500]);