Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

16.2.1 malloc, C

Tilaa voidaan varata malloc- funktiolla. Funktiolle viedään parametrinä 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 parametrinsä 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!


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys