E-gradiva > Računalništvo > Programiranje > Načrtovanje in razvoj programskih aplikacij > Kazalci > Nizi znakov s kazalci

Prijava

Nizi znakov s kazalCI

Podobno lahko pri definiciji namesto polja znakov:

 

char niz[]  = "Srečno novo leto";

 

uporabimo

 

char* niz = "Srečno novo leto";

 

Obe definiciji rezervirata toliko znakov, kot je število znakov niza in en dodaten ničelni znak. Razlika med definicijama je, da prvi predstavlja  identifikator niz naslov prvega elementa polja, v drugi pa je identifikator niz kazalec, ki vsebuje naslov rezerviranega polja znakov.

 

#include <iostream.h>

void
izpisi_znake(const char *);

main
()
{

char
niz[] = "izpis niza znakov";
cout << "Niz je:" << endl;

izpisi_znake(niz);

cout << endl;

return
0;
}

 

#include <iostream.h>

void
izpisi_znake(const char *);

main
()
{

char
niz[] = "izpis niza znakov";
cout << "Niz je:" << endl;

izpisi_znake(niz);

cout << endl;

return
0;
}

Dinamična alokacija prostora za niz znakov

void dinamicni_niz()
{


char
* polje[10];
char
niz[21];

for
(int i=0; i<3; ++i)
{


cout << "Vpisi niz (brez presledkov, max 20 znakov): ";
cin >> niz;
polje[i] = new char[strlen(niz)+1];
strcpy(polje[i], niz);
}
// for


for
(i=0; i<3; ++i) //izpis in sprostitev pomnilnika

{
cout << polje[i] << endl;
delete
[] polje[i];
}
// for

}