Predaja informacija o polju funkciji C++ treba tri informacije da bi funkcija mogla manipulirati podacima u polju: veličinu člana polja – tip polja u zaglavlju funkcije, adresu polja – ime polja u funkcijskom pozivu, mjesto za spremanje adrese polja – identifikator (ime koje će u funkciji manipulirati članovima polja) sa [ ] u zaglavlju funkcije void funkcija2 (double[], int); //prenosi se adresa polja void funkcija3 (const double[], int); //const (preporučuje se!) znači da funkcija ne može koristiti prenijetu adresu da bi mijenjala sadržaj polja, a koristi se u zaglavlju i deklaraciji Veličina polja prenosi se kao jedan od argumenata 1D polja i funkcije kako se ne bi trošila značajna količina memorije, funkciji se prenosi samo adresa prvog člana polja (tzv. adresa polja) – navodi se ime polja bez zagrada tako područje memorije koje čuva funkcijske podatke ne čuva čitavo polje nego samo jednu vrijednost -> adresu prvog člana polja 2D polja i funkcije Primjer deklaracije funkcije: void funkcija1 (int, int, int [ ] [ MAX_BR_ST] ); // samo prvi skup zagrada može biti prazan Primjer poziva funkcije: funkcija1 (br_red, br_stup, a); //a je adresa polja Primjer definicije funkcije - zaglavlje: void funkcija1 (int m, int n, int b [ ] [ MAX_BR_ST]) mem. lokacija za b čuva samo adresu prvog člana polja Za označavanje kraja članova retka/stupca može se također koristiti sentinel vrijednost Kod djelomično popunjenog polja, popunjene memorijske lokacije obično nisu u kontinuiranom slijedu