Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Siruri de caractere  (Citit de 1145 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« : Aprilie 18, 2009, 10:28:35 »

De ceva timp un prieten tot imi pune intrebari legate de  pointeri si siruri de caractere. La majoritatea  i-am explicat ce se intampla , de ce ...etc Very Happy. Dar ieri ma intreaba urmatoarea chestie :
Cod:
//...
int main()
  {
      char  x[]="intrebare";
      cout<<x<<endl;  //afiseaza  "intrebare"
      return 0;
  }
Cod:
int main()
  {
   int  x[]={1,2,3,4};
   cout<<x<<endl; //afiseaza adresa primului element din  vector
return 0;
}
De ce se intrampla acest lucru? Adica de ce la la siruri de caractere afiseaza sirul, iar la tipuri intregi afiseaza adresa primului element ?
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #1 : Aprilie 18, 2009, 11:13:53 »

Pai tipul lui x in al doilea exemplu este int* (pointer). char* e interpretat ca string ("alabala" e tot de tip char*)  si cel mai probabil de-aia stie sa il afiseze automat.

Un raspuns mai sec, dar la fel de adevarat, ar fi: pentru ca asa a fost implementat sa faca Tongue
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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