40 likes | 168 Views
Osoitin ja char-tietotyyppi. Osoitinmuuttuja, joka on tyyppiä char* voidaan alustaa merkkijonolla: char* alku=”En toivo mitään muuta”;. 2000. alku:. Osoite 2000H. Merkkijonon tallennus päättyy lopetusmerkkiin automaattisesti.
E N D
Osoitin ja char-tietotyyppi • Osoitinmuuttuja, joka on tyyppiä char* voidaan alustaa merkkijonolla: • char* alku=”En toivo mitään muuta”; 2000 alku: Osoite 2000H Merkkijonon tallennus päättyy lopetusmerkkiin automaattisesti tMyn
Jos toimittaisiin ihan sääntöjen mukaisesti, niin olisi todettava, että edellisessä esimerkissä oleva merkkijono on tyyppiä const. Sitä vastoin osoittimen tyyppi ei ollut. Oikeammin olisi siis pitänyt kirjoittaa: • const char* alku=”En toivo mitään muuta”; • Tämä kertoo kääntäjälle, että se, mitä osoitin osoittaa, on tyyppiä const. Sitä ei siis saa yrittää muuttaa. • cout tulkitsee muuttujan, joka on tyyppiä char*, merkkijonoksi, joka päättyy lopetusmerkkiin. tMyn
int main(array<System::String ^> ^args) { const char* viitta1="Tunturikoivu Pyh\204tunturilla"; const char* viitta2="Saaristom\204nty Airistolla"; const char* viitta3="Lehtikuusi Urpolassa"; const char* viitta4="Puistojalava Ullanlinnanm\204ell\204"; int valintasi=0; cout<<"Mik\204 on kaunein puu?"<<endl <<"Sy\224t\204 kokonaisluku 1-4: "; cin>>valintasi; cin.get(); tMyn
switch(valintasi) { case 1: cout<<viitta1<<endl; break; case 2: cout<<viitta2<<endl; break; case 3: cout<<viitta3<<endl; break; case 4: cout<<viitta4<<endl; break; default: cout<<"Sorry, valinta alueen ulkopuolelta"; } return 0; } tMyn