主にC言語系の低レベル言語でメモリ領域を割り当てるために使用される関数を指します。
具体的な関数
C言語では「malloc」「calloc」「realloc」 などがあるとのことです。
またC++では「new」があるとのことでした。
これらの関数は指定されたサイズのメモリブロックをヒープから割り当てて、そのメモリアドレスを返すという動きをするそうです。
高級言語では?
一方PythonやJavaScriptでは通常自動的にメモリ割り当てが行われており、Javaにおいてはnew演算子(オブジェクト生成時使われる)を使用する際にメモリ割り当てが行われるとのことでこちらも基本的に管理は自動になるとのことでした。
使用する際の注意点
C言語などの低レベル言語においてはプログラムで領域割り付け関数を使用する場合があります。その際メモリの割り付けは必ず成功するとは限りません。ですから割り付けができなかった時の処理(例外処理)を必ず設定しましょうなどとコーディング規約で取り決めがあったりします。
試験によく出る項目
サンプル問題では以下のような形で出題されました。
Q:プログラムのコーディング規約に規定する事項のうち,適切なものはどれか。
A:領域割付け関数を使用するときは,割付けができなかったときの処理を記述する。
コメントを残す