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: 23211
  • 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 810 korisnika na forumu :: 42 registrovanih, 3 sakrivenih i 765 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: acatomic, Asteker, bokisha253, Czrweni, Dimitrise93, Dovla 1980, Dzuki, Goran_, grunff2, ILGromovnik, istina, Kenanjoz, knutveliki, Koja79, kybonacci, Lazarus, Makarid, maksi007, mgolub, mile.ilic75, MK10, nazgul75, pein, Prečanin30, PrincipL, radionica1, rebcooil, Romuluss, rovac, royst33, samo opusteno, sekretar, tanakadzo, TheBeastOfMG, Topaz9, travisrise, Vanderx, Vlada1389, vojnik švejk, vucheta, zgoljo, šumar bk2