malloc/free関数



malloc(メモリブロックを割り当てる)
必要なヘッダー <stdlib.h> または<malloc.h>
関数   void *malloc( size_t size );
引数   size ・・・割り当てるバイト数
戻り値   成功 割り当てた領域へのポインタ
失敗 NULL

free(メモリブロックを解放する)
必要なヘッダー <stdlib.h> または<malloc.h>
関数   void free( void *memblock );
引数   memblock ・・・以前に割り当てられたメモリブロックを解放
戻り値   成功 なし
失敗 なし

■100バイトのメモリを確保する
#include <stdlib.h>
#include <stdio.h>
//#include <malloc.h>

void main( void )
{
 char *str;
 str = (char *)malloc(100);
 if( str == NULL )
  printf( "メモリ領域を確保できません。\n" );
 else
  printf( "100バイトのメモリを確保出来ました。\n" );
 
 free( str ); 
 printf( "メモリ領域が解放されました。\n" );
 getchar();
}





Cの基礎のページへ



ホーム PV ランキング