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