Ukazatele – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ukazatele – C / C++ – Fórum – Programujte.comUkazatele – C / C++ – Fórum – Programujte.com

 

demo
~ Anonymní uživatel
1 příspěvek
6. 1. 2010   #1
-
0
-

Zdravím,
v C jsem vcelku začátečník a mám následující problém s ukazateli. Jak mám zajistit aby když přiřadím do proměné "a" hodnotu 12 abych s ní mohl pracovat i ve funkci main? vím že tam mám něco blbě ale nevím co.


void test(int *a)
{
a = (int*)malloc(sizeof(int));
a = 12;
}

int main()
{
int *a;
test(&a);
printf("%d", a);
return 0;
}

Nahlásit jako SPAM
IP: 195.113.207.–
KIIV
~ Moderátor
+43
God of flame
6. 1. 2010   #2
-
0
-

v prve rade je tam par chyb .. . ve funkci je vhodne pouzit test( int ** a )
pak *a = (int*)malloc(sizeof(int));
a nakonec **a = 12

pak by to mohlo dle letmeno odhadu fungovat

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
sputnikone+1
Věrný člen
6. 1. 2010   #3
-
0
-

Stačí sledovat hlášení compileru, všecko se tam píše



#include<stdio.h>
#include<stdlib.h>

int main()
{
int *a;
a = (int*)malloc(sizeof(int));
*a = 12;
printf("%d", *a);
free(a);
return 0;
}

Nahlásit jako SPAM
IP: 147.251.53.–
sputnikone+1
Věrný člen
6. 1. 2010   #4
-
0
-

Jestli chceš tu funkci test, je lepší ji psát takhle:



#include<stdio.h>
#include<stdlib.h>

int * test()
{
int *a;
a = (int*)malloc(sizeof(int));
*a = 12;
return a;
}

int main()
{
int *a;
a = test();
printf("%d", *a);
free(a);
return 0;
}

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

Podobná vlákna

Ukazatele — založil Šimon

C++ Ukazatele — založil pointer

Ukazatele — založil Albornoz

Ukazatele — založil IBTR

C# ukazatelé — založil Kubas129

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ý