文法:
#include <cstdlib> void *malloc( size_t サイズ );
malloc()関数は、サイズで指定されたメモリブロックのポインタを返します。エラーが発生するとNULLを返します。メモリのポインタはヒープ上のメモリを指します。スタック上を指すことはありません。使用し終わったら、メモリブロックはfreeするようにしましょう。
サンプル:
typedef struct data_type { int age; char name[20]; } data; data *bob; bob = (data*) malloc( sizeof(data) ); if( bob != NULL ) { bob->age = 22; strcpy( bob->name, "ロバート" ); printf( "%s は %d 歳です\n", bob->name, bob->age ); } free( bob );
C++では、Cのmalloc/freeの代わりに、new/deleteを使用する方が良いです。