previous next Up Title Contents Index

16.2.1 malloc, C

Tilaa voidaan varata malloc- funktiolla. Funktiolle viedään parametrina haluttu koko tavuina ja funktio palauttaa muistista löytyneen alueen alkuosoitteen.

Mikäli tilaa ei saada allokoitua, palautetaan NULL. Tämä pitää muistaa AINA tarkistaa!

Apuna alkion koon laskemisessa käytetään usein käännösaikaista operaattoria sizeof (ks. sizeof), joka palauttaa parametrinsa koon.

	pKokonaislukuTaulu = malloc(20*sizeof(int));
Esimerkiksi kerhon jäsenten osoitintaulukko voitaisiin luoda seuraavasti:

runko.1\kerho.cpp - jäsentaulukon luominen

	const char *cKerho::luo_taulukko(int koko)
	{
	  jasenet = (cJasen **)malloc( koko * (sizeof(cJasen *)) );
	  jasenia = 0;
	  max_jasenia = 0;
	  if ( jasenet == NULL ) return EI_VOI_LUODA;
	  max_jasenia = koko;
	  return NULL;
	}
Huomautus! malloc ei alusta varattua muistia mitenkään!


previous next Up Title Contents Index