Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

16. Dynaaminen muistinkäyttö

Mitä tässä luvussa käsitellään?

* Dynaaminen muistinhallinta

* Dynaamiset taulukot

* Hajottaja (destructor)

* STL-vektori

Syntaksi:

	Dyn.muut.luonti C:    pMuuttuja = malloc(koko);
	                      pTaulukko = malloc(alkioiden_lkm * alkion_koko); // ei alus
	                      pTaulukko = calloc(alkioiden_lkm,alkion_koko); // alust. 0
	                C++:  pOlio = new cLuokka;         // oletusmuodostaja
	                      pOlio = new cLuokka(muodostajan_param_lista);
	                      pOlioTaul = new cLuokka[alkioiden_lkm];
	Koon vaihto     C:    pTaulukko = realloc(pVanha,uusi_koko_tavuina);
	Hävittäminen    C:    free(pMuuttuja);
	                      free(pTaulukko);
	                C++:  delete pOlio;
	                      delete [] pOlioTaul;
	
	Hajottaja             ~cLuokka();    

Yhdessä käytettävät funktiot tai operaattorit:

	C:   malloc - calloc - realloc - free
	C++: new - delete
	     new [] - delete []

Olemme oppineet varaamaan muuttujia esittelyn yhteydessä. Muuttujia voidaan luoda (= varata muistitilaa) myös ohjelman ajon aikana. Tämä on tarpeellista erityisesti silloin, kun ohjelman kirjoittamisen aikana ei tiedetä muuttujien määrää tai ehkei jopa edes kokoa (taulukot).


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys