sir de caractere

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
david_stelian
Junior
Junior
Posts: 17
Joined: 13 Sep 2014, 22:35
Judet: Dolj

sir de caractere

Post by david_stelian » 15 Jun 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

Code: Select all

#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;
}



Viorel
Microsoft MVP
Microsoft MVP
Posts: 286
Joined: 13 Jul 2007, 12:26

Re: sir de caractere

Post by Viorel » 15 Jun 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:

Code: Select all

  cout << "\n tab[0] = " << (void*)&tab[0] << endl;

Post Reply