15.2.1.1 レジスター変数

C言語はいわば高級アセンブラとしての機能が用意されているが、その一つが レジスター変数である。レジスター変数は文字通り CPU 内部に用意された レジスターと呼ばれる記憶場所 を直接利用するために用意されたもので、もしレジスターが利用できる場合には レジスターに直接割り当てられ、メモリは利用されない(レジスターが使えない 場合には次の自動変数と同じになる)。その用途は CPU の内部にあることに よる高速性である。つまり、プログラマーが明示的にレジスターを利用する事で、 より最適なプログラムが書けるようにしているものである。

レジスター変数の宣言は、以下のように行う。

    register int x;

但し、現実にはよほど慣れたプログラマーでない限り、レジスター変数は使う 必要はありません。現在のコンパイラーは最適化が進んでいるので、自動的に レジスターへの割り当てを行うからです。



最初のページ 戻る 次へ 最後のページ 目次
Hiroyasu Asami