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

Nulování ukazatele ve funkci – C / C++ – Fórum – Programujte.comNulování ukazatele ve funkci – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Petr K
~ Anonymní uživatel
1 příspěvek
28. 11. 2011   #1
-
0
-

Dobrý den,

mám v C funkci která musí NULLovat pointer předaný z jiné funkce.

Buhužel se ten pointer nevynuluje a vůbec nevím proč.

void null(int * root)
{
     root = NULL;
     return;
}

int main (void)
{   
    int * aaa = (int*)malloc(sizeof(int));
    free(aaa);
    null(aaa);
    printf("vynulovano:%d", aaa);   
    return 0;
}

aaa = NULL; pokud ale přidám do main tuhle řádku, tak to vytiskne správně "0"

Zajímalo by mne proč to nefunguje přes tuto funkci.

Děkuji za odpověi

Nahlásit jako SPAM
IP: 195.113.242.–
Reklama
Reklama
ondra.holub+1
Stálý člen
28. 11. 2011   #2
-
0
-

#1 Petr K

 V té funkci null se NULL nastaví jenom do lokální proměnné root. Musí se předat adresa proměnné, která se má změnit:

void null(int ** root)
{
     *root = NULL;
     return;
}

int main (void)
{   
    int * aaa = (int*)malloc(sizeof(int));
    free(aaa);
    null(&aaa);
    printf("vynulovano:%d", aaa);   
    return 0;
}
Nahlásit jako SPAM
IP: 194.138.12.–
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, 10 hostů

Podobná vlákna

Ukazatele — založil Albornoz

Ukazatele — založil Šimon

Ukazatele — založil demo

Ukazatele — založil IBTR

C++ Ukazatele — založil pointer

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ý