Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Fctia realloc  (Citit de 2021 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
C_Ovidiu
Strain
*

Karma: -37
Deconectat Deconectat

Mesaje: 46



Vezi Profilul
« : Martie 10, 2008, 13:12:25 »

Are cineva vreo idee de ce cand apelez fct realloc imi iese din program ? Spre exemplu atunci cand i este 4 in exemplul de mai jos imi iese din program la linia 3 .

Portiunea care nu iese
Cod:
int long *h[100];      //1
h[i]=(int long*)realloc(h[i],sizeof(int long));    //2
h[i]=(int long*)realloc(h[i],(h[i][0]+1)*sizeof(int long));  //3
Memorat
astronomy
Nu mai tace
*****

Karma: 204
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #1 : Martie 10, 2008, 13:19:49 »

h[ i ][ 0 ] este neinitializat
Memorat
C_Ovidiu
Strain
*

Karma: -37
Deconectat Deconectat

Mesaje: 46



Vezi Profilul
« Răspunde #2 : Martie 10, 2008, 13:53:23 »

  Scz . De fapt era
Cod:
int long *h[100];      //1
h[i]=(int long*)realloc(h[i],sizeof(int long));    //2
h[i][0]=0; //2
h[i]=(int long*)realloc(h[i],(h[i][0]+1)*sizeof(int long));  //3

Ma indoiesc ca va reusi cineva sa imi arate ce am gresit ,  dar daca mi-ar putea cineva spune care ar fi  motivele pentru care fct realloc mi-ar inchide programul .  Confused
« Ultima modificare: Martie 10, 2008, 14:06:01 de către Cotletz Ovidiu » Memorat
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #3 : Martie 10, 2008, 14:17:39 »

Si pe i nu-l initializezi? Daca l-ai declarat global e initializat cu 0, dar daca e local, atunci o sa ia o valoare random care e foarte probabil sa fie in afara vectorului.

[Later Edit]
In linia 2, tu incerci sa redimensionezi zona de memorie de la adresa 0x00000000 (NULL), ceea ce nu iti este permis. Smile
« Ultima modificare: Martie 10, 2008, 14:29:01 de către Stefan Istrate » Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
C_Ovidiu
Strain
*

Karma: -37
Deconectat Deconectat

Mesaje: 46



Vezi Profilul
« Răspunde #4 : Martie 11, 2008, 10:22:11 »

   Primele 3 linii merg pentru orice aproape orice valoare a lui i in intervalul (0,99) dar pentru i=4 nu .
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines