Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Osnove za pokazivac i NULL - zašto?

[es] :: C/C++ programiranje :: Osnove za pokazivac i NULL - zašto?

[ Pregleda: 1856 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

azzpoz

Član broj: 300637
Poruke: 96



+1 Profil

icon Osnove za pokazivac i NULL - zašto?05.12.2013. u 18:24 - pre 75 meseci
Code:
#include <iostream>
using namespace std;

int main()

{
    
    char *pok;
    
    pok = NULL;
    
    cout << pok << "<<<<<" << endl;
    
    
    pok = new char[strlen("Harry Copter")+1];
    strcpy(pok, "Harry Copter");
    
    cout<<"\n pok-> " << pok << endl;
      
    
    system("pause>0"); return 0;
}



Zašto nakon pok koji je pokazivao NULL, ne može prikazati ponovo pok, kojem je alocirana memorija, te dodjeljena vrijednost???

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4867
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+622 Profil

icon Re: Osnove za pokazivac i NULL - zašto?05.12.2013. u 18:55 - pre 75 meseci
Code:

cout<<"\n pok-> " << (void *)pok << endl;
cout<<"\n pok-> " << static_cast<void *>(pok) << endl;
cout<<"\n pok-> " << reinterpret_cast<void *>(pok) << endl;


http://stackoverflow.com/quest...inter-confusing-with-cout-in-c
 
Odgovor na temu

azzpoz

Član broj: 300637
Poruke: 96



+1 Profil

icon Re: Osnove za pokazivac i NULL - zašto?05.12.2013. u 19:02 - pre 75 meseci
Razmijem da ne može i nema vrijednost koji bi pročitao operator<<, ali zašto se kasnije ne ispisuje bilo što???
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1912
..178.212.adsl.dyn.beotel.net.

Sajt: stackoverflow.com/users/1..


+471 Profil

icon Re: Osnove za pokazivac i NULL - zašto?05.12.2013. u 19:35 - pre 75 meseci
Zato što si pokušao da spržio stanje cout objekta time što si pokušao da čitaš string sa lokacije 0.

Code:
cout.clear();


nakon greške postavlja stanje na ispravno: http://www.cplusplus.com/reference/ios/ios/clear/

Code:
#include <iostream>
#include <cstring>
using namespace std;

int main()

{

    char *pok;

    pok = NULL;

    cout << pok << "<<<<<" << endl;

    cout.clear();

    pok = new char[strlen("Harry Copter")+1];
    strcpy(pok, "Harry Copter");

    cout<<"\n pok-> " << pok << endl;


}

 
Odgovor na temu

[es] :: C/C++ programiranje :: Osnove za pokazivac i NULL - zašto?

[ Pregleda: 1856 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.