Ahoj.. potřeboval bych poradit jak m?m p?ed?vat obsah n?kolika rozm?rn?ho pole jako argument funkce. Ud?lal jsem to takto:
volamfunkci(pole);
int volamfunkci(int pole[4][4]){ }
Takto to funguje, ale potřeboval bych to ud?lat tak, aby sem nemusel zad?vat "rozm?r" toho pole.. Pr? to jde n?jak p?es ukazatel: "ARRAY *pole", ale nevím jak :) d?kuju
Fórum › C / C++
Předávání pole jako argument funkce
int pole[2][2] { {1,2}, {3,4} };
int moja_fcia(int* viacrozmerne_pole, unsigned int velkost_pola)
{
if (velkost_pola != 4*sizeof(int)) {
return NEJAKA_ERROR_HODNOTA;
}
}
//zavolam
moja_fcia(pole, sizeof(pole)); /*size neskusaj pouzit na dynamicky alokovane pole*/
Polia sa chovaju bez [] ako ukazovatele na nejaky buffer.. takze takto ich jednoducho dostanes do funkcie.. s tym ze je dobrym zvykom drzat si info o velkosti pola a predavat to ako argument.. je to preto lebo tam mozes narvat kadeco a aby ti to nepadlo na zaciatku fcie je treba otestovat ze ci je velkost vyhovujuca..
Inac ak to potrebujes na uchovanie urciitch hodnot s nejakym vyznamom tak radsej pouzi struktury... Rozhodne sa ti s tym bude lebsie kodit a nestrati sa vyznam dat.. Lebo opar mesiacov pozries na to a nebudes vediet co je int[2][2]
pole v C++ je len pointer na jeho zaciatok (aspon jeho nazov ...) cize pole poli je pole pointerov tj. pointer na pointer na nieco ...
takymto sposobom mozes davat f-ciam aj dynamicky alokovanu pamat.
ak ti doftedy nikto nepomoze, tak ti napisem aj zdrojak (teraz nemam cas ... miznem na trening)
Zjistit počet nových příspěvků
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa































Uživatelé prohlížející si toto vlákno
Podobná vlákna
C# pole jako parametr funkce — založil Geralt
Dynamické pole jako parametr funkce — založil Luk
Pole charu a define jako společný parametr funkce, jde to? — založil Kokobelo
Smí být argument funkce seznam? — založil Arthas
šablonová funkce jako členská funkce třídy - jde to? — založil yaqwsx
Moderátoři diskuze
TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Duch

Nahlásit jako SPAM
IP: ...–
Věrný člen
Stálý člen

