sir de caractere

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++

sir de caractere

Mesajde david_stelian » 15 Iun 2016, 12:03

Va salut!
Am urmatorul cod, care poate parea banal.
La un tablou de intregi la rularea codului imi sunt afisate toate adresele in hexazecimal.
De ce nu sunt afisate adresele la un sir de caractere.
Pentru &tab[0] este afisat ABCD
Pentru &tab[1] este afisat BCD
Pentru &tab[2] este afisat CD
Pentru &tab[3] este afisat D

Cod: Selectaţi tot
#include <iostream>
using namespace std;

int main()
{
    char tab[5] = "ABCD";
    cout << "\n tab = " << tab << endl;
    cout << "\n tab[0] = " << &tab[0] << endl;
    cout << "\n tab[1] = " << &tab[1] << endl;
    cout << "\n tab[2] = " << &tab[2] << endl;
    cout << "\n tab[3] = " << &tab[3] << endl;
    return 0;
}
david_stelian
Junior
Junior
 
Mesaje: 15
Membru din: 13 Sep 2014, 22:35
Judet: Dolj

Re: sir de caractere

Mesajde Viorel » 15 Iun 2016, 21:51

Biblioteca STL e proiectată să afișeze valoarea șirului. În caz contrar expresii ca cout << "\n tab = " ar fi afișat adresa șirului în loc de conținut.

Pentru a afișa adresa, încearcă o conversie:

Cod: Selectaţi tot
  cout << "\n tab[0] = " << (void*)&tab[0] << endl;
Viorel
Microsoft MVP
Microsoft MVP
 
Mesaje: 280
Membru din: 13 Iul 2007, 12:26


Înapoi la Limbajul C++

Cine este conectat

Utilizatorii ce navighează pe acest forum: Bing [Bot] şi 2 vizitatori

cron