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

Prijava

Polja in kazalci

Predpostavimo naslednjo deklaracijo:

 

const int velikost = 100;

int
b[velikost], *kaz_b;

 

Predpostavimo, da je začetna lokacija polja 3000. Predpostavimo tudi, da naš prevajalnik shrani celo število v štirih zlogih.

 

Ekvivalentni stavki so:

kaz_b = b;

in

kaz_b = &b[0];

 

Oba stavka priredita spremenljivki kaz_b vrednost 3000.

kaz_b = b + 1; 

in

 kaz_b = &b[1];

 

Oba stavka priredita spremenljivki kaz_b vrednost 3004.

 

 // Uporaba indeksiranega in kazalčnega zapisa s polji:
#include <iostream>

using namespace std;

int
main()
{

int
b[] = {10, 20, 30, 40};

int
*kaz_b = b; // nastavitev kaz_b, da kaze na polje b

cout << "Polje b izpisano s:" << endl << "poljsko-indeksiranim zapisom" << endl;


for
(int i = 0; i <= 3; i++)
{
cout << "b[" << i << "] = " << b[i] << endl; }

cout << endl << "kazalcnim zapisom z odmikom, kjer" << endl << "je kazalec ime polja" << endl;


for
(int odmik = 0; odmik <= 3; odmik++)
{
cout << "*(b + " << odmik << ") = " << *(b + odmik) << endl; }

cout << endl << "kazalcno-indeksiranim zapisom" << endl;


for
(int i = 0; i <= 3; i++)
{
cout << "kaz_b[" << i << "] = " << kaz_b[i] << endl; }

cout << endl << "kazalcnim zapisom z odmikom" << endl;


for
(int odmik = 0; odmik <= 3; odmik++)
{
cout << "*(kaz_b + " << odmik << ") = " << *(kaz_b + odmik) << endl; }

system("pause");
return
0;
}