malloc, zasto ne radi

malloc, zasto ne radi

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Evo nekog test programa kojeg ne mogu da kompajliram.
Evo sta izbacuje kao gresku!

In function `int main()':
8 invalid conversion from `void*' to `int*'

#include<stdio.h> #include<stdlib.h> int main(void) {   int *mychar;   if ((mychar = malloc(100)) == NULL) {     puts("Memory allocation error!");     return EXIT_FAILURE;   }   puts("Memory allocated successfully!");   free(mychar);   return EXIT_SUCCESS;    /* EXIT_SUCCESS & EXIT_FAILURE are found */ }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • meka  Male
  • Počasni građanin
  • Pridružio: 06 Avg 2003
  • Poruke: 811
  • Gde živiš: Novi Sad / Vojvodina

Prvo, malloc bi trebao da koristiš malo drugačije. Recimo
mychar = malloc(100 * sizeof(int))
Druga stvar, kako to da je mychar int, zar ne bi li trebao char? Treće, meni se program i iskompajlira i pokrene kako treba.



offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23212
  • Gde živiš: Niš

mychar = (int *)malloc(100 * sizeof(int))
je ispravno...

offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

Da, treba eksplicitna konverzija.
A mychar, ne mora da bude char. To je pokazivac na tip int.

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

@Peca
da to je rjesenje - tnx.

mychar = (int *) malloc(100);

@meka
1. Upotreba je mislim jasna
2. Nije bitno koji je naziv promjenljive
3. To je mene i mucilo, posto sam znao da nema greske Wink

offline
  • Pridružio: 05 Jul 2007
  • Poruke: 5

malloc ti je naredba za dinamicku alokaciju memorije i to je veoma mocna stvar. malloc je besmisleno koristiti ovako kad das konkretno "100", to si mogao da definises i na pocetku sa #define 100 i odmislis...
imam ja mocnih stvari sa matricama i tom dinamickom alokacijom, ako nekome treba...

Ko je trenutno na forumu
 

Ukupno su 4317 korisnika na forumu :: 70 registrovanih, 7 sakrivenih i 4240 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, 4fat, 8u47, 9k38, bankulen, blue, Bo96, boromir, borya90, BOXRR, brandža84, BrcakRS, Chainsaw, comi_pfc, Comyymoc, curuzan, Cvijo_ue, darkojovxp, debeli, Dejan_vw, dejno, Denaya, desmeki, Dolinc, dragoljub11987, dushan, Ezbuck, Fabius, Feller, g0xy, HrcAk47, ivran064, JOntra, Jozo74, Lazarus, M74AB3, Marko Marković, MaschinenPistole, MB120mm, Miki01, milenko crazy north, Milometer, Mirage 2000N, nemkea71, nenad81, nixos, Nobunaga, nuke92, ostoja, Papadubi, peradetlić, Plavi1, Privrednik, rakivan, rednap, redstar72, Resnica, Sale0501, Sarmat, Sevatar, Sirius, starlights, stingD, Stojan Mrsavi, synergia, Tumansky, varda, Vlada1389, zdrebac, šumar bk2