Alokace dynamickeho pole ve funkci – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Alokace dynamickeho pole ve funkci – C / C++ – Fórum – Programujte.comAlokace dynamickeho pole ve funkci – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Aods
~ Anonymní uživatel
2 příspěvky
7. 12. 2009   #1
-
0
-

Ahoj, potřeboval bych poradit, jak mám alokovat dynamické pole ve funkci. Už jsem nad tím bádal docela dlouhou dobu, ale nemůžu pořád najít chybu.

#include <stdio.h>

#include <stdlib.h>

void nacti(float *p,int *p_velikost)
{
int i;
printf("Zadej pocet hodnot:\n");
scanf("%i",p_velikost);

p=malloc(sizeof(float)**p_velikost);
if (p==NULL) { perror("Malo pameti !"); exit(-1); }

printf("Zadej postupne hodnoty:\n");
for(i=0;i<*p_velikost;i++) scanf("%f",&p[i]);
}


int main(int argc, char *argv[])
{
float *pole;
int i,velikost;

nacti(pole,&velikost);

//vypise pole
for(i=0;i<velikost;i++) printf("%f\n",pole[i]);


system("PAUSE");
return 0;
}

Nahlásit jako SPAM
IP: 213.210.179.–
Reklama
Reklama
Aods
~ Anonymní uživatel
2 příspěvky
7. 12. 2009   #2
-
0
-

Pořád mi to vypisuje nějaká nesmyslná čísla.

Nahlásit jako SPAM
IP: 213.210.179.–
H4wk.cz0
Newbie
7. 12. 2009   #3
-
0
-

malloc vrátí adresu nově vytvořeného pole. Ty předáváš hodnotou adresu pole, malloc ti do p uloží novou adresu, ale proměnná pole se nezmění. Buď vracej novou adresu z funkce, anebo předávej ukazatel na ukazatel, abys jej mohl změnit.

Nahlásit jako SPAM
IP: 78.128.196.–
http://ksp.mff.cuni.cz - Nauč se opravdu programovat
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
7. 12. 2009   #4
-
0
-

To H4wk.cz : Dekuju moc :-)

Nahlásit jako SPAM
IP: 213.210.179.–
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, 63 hostů

Moderátoři diskuze

 

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