Předávání pole jako argument funkce – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Předávání pole jako argument funkce – C / C++ – Fórum – Programujte.comPředávání pole jako argument funkce – C / C++ – Fórum – Programujte.com

 

shamania0
Duch
15. 12. 2006   #1
-
0
-

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

Nahlásit jako SPAM
IP: ...–
PHP,MySQL,JS,CSS,Flash (AS)
sn3d0
Věrný člen
15. 12. 2006   #2
-
0
-

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]

Nahlásit jako SPAM
IP: ...–
shutdown -h now
Pedro0
Stálý člen
15. 12. 2006   #3
-
0
-

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)

Nahlásit jako SPAM
IP: ...–
Vsetci ste blazni, to len ja som lietadlo
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 52 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý