sau Inregistrare
  
Pagina 1 din 1
  • Nu poti crea un subiect nou
  • Nu puteti raspunde pe acest topic

> problema cu pointeri in C > problema cu pointeri in C Evaluare topic: - - - - -

#1 Utilizator offline   blackslither 

  • Ghiocel
  • Grup: Members
  • Mesaje: 3
  • Inregistrat: 26-October 08

  Scris 26 October 2008 - 01:23 AM

un exemplu simplu ce rezuma problema mea :

void change(int *x, int *y){x=y;}

int main(){
int *xx,*yy;

yy = (int*)malloc(sizeof(int));
change(xx,yy);

if(xx == NULL)printf("is null\n");
else printf("---- %d ----\n",*xx);

.................................................. .........

xx nu pointeaza spre valoarea lui yy (*yy) , programu printeaza "is null" si nu inteleg de ce ? ..... xx si yy trebuiesc declarati neaparat ca pointeri la un tip , iar asignarea xx = yy trebuie facauta in func .

eu credeam ca daca dai ca argument unei functii pointeri , modificarile se salveaza si xx va pointa unde pointeaza si yy
0

#2 Utilizator offline   soarce 

  • Trandafir
  • PipPipPipPip
  • Grup: Full Members
  • Mesaje: 410
  • Inregistrat: 13-October 07

Scris 26 October 2008 - 02:44 AM

Vezi postareablackslither, la Oct 26 2008, 01:23 AM, a spus:

xx nu pointeaza spre valoarea lui yy (*yy) , programu printeaza "is null" si nu inteleg de ce ? ..... xx si yy trebuiesc declarati neaparat ca pointeri la un tip , iar asignarea xx = yy trebuie facauta in func .

eu credeam ca daca dai ca argument unei functii pointeri , modificarile se salveaza si xx va pointa unde pointeaza si yy


Nu cumva yy este NULL?
Alocarile de memorie trebuiesc verificate inainte de a face operatii cu ele.
0

#3 Utilizator offline   argv 

  • Wanderer
  • PipPipPipPipPipPip
  • Grup: Silver Member
  • Mesaje: 2.714
  • Inregistrat: 27-October 06

Scris 26 October 2008 - 10:49 AM

Vezi postareablackslither, la Oct 26 2008, 12:23 AM, a spus:

un exemplu simplu ce rezuma problema mea :

void change(int *x, int *y){x=y;}

int main(){
int *xx,*yy;

yy = (int*)malloc(sizeof(int));
change(xx,yy);

if(xx == NULL)printf("is null\n");
else printf("---- %d ----\n",*xx);

.................................................. .........

xx nu pointeaza spre valoarea lui yy (*yy) , programu printeaza "is null" si nu inteleg de ce ? ..... xx si yy trebuiesc declarati neaparat ca pointeri la un tip , iar asignarea xx = yy trebuie facauta in func .

eu credeam ca daca dai ca argument unei functii pointeri , modificarile se salveaza si xx va pointa unde pointeaza si yy


corecteaza (referinta catre pointer)

void change(int *&x, int *&y)
{x=y;}
0

#4 Utilizator offline   blackslither 

  • Ghiocel
  • Grup: Members
  • Mesaje: 3
  • Inregistrat: 26-October 08

Scris 26 October 2008 - 11:54 AM

Vezi postareaargv, la Oct 26 2008, 11:49 AM, a spus:

corecteaza (referinta catre pointer)

void change(int *&x, int *&y)
{x=y;}



mersi
0

Reclama



Impartaseste acest subiect:


Pagina 1 din 1
  • Nu poti crea un subiect nou
  • Nu puteti raspunde pe acest topic


Subiecte similare Collapse

  Topic Deschis de Replici Vizualizari
Replici noi Am nevoie de ajutot! un sfat chiar doua nu ar strica.. flobeats  5 4.099
Replici noi ajutor!
numar prim
lcz  6 4.695
Replici noi linia de comanda in C AndreiMetal  1 1.282
Replici noi help me
programel de contabilitate
tyna_v  8 5.953
Replici noi foreach array RHS  4 1.250