「C言語/データ型と変数の高度な話題」の版間の差分
削除された内容 追加された内容
M s/組合メンバーオブジェクト/ユニオンメンバーオブジェクト/ タグ: 2017年版ソースエディター |
→register: 記憶域クラス指定子registerを伴って宣言した変数には、アドレス演算子( & )を適用する事はできない。 タグ: 2017年版ソースエディター |
||
245 行
registerを使うことで、レジスターを使う。
;registerの使用例:<syntaxhighlight lang="C">
#include <stdio.h>
int main(void) {
▲ register int i, sum=0;
▲ for(i=1;i<=100;++i)
▲ sum+=i;
▲ printf("1から100までの総和は%d。\n", sum);
}
</syntaxhighlight>
261 ⟶ 259行目:
そのオブジェクトへのアクセスを可能な限り高速にすべきであることを示唆する。
この示唆が効果を持つ程度は、処理系定義とする。
また、registerを伴って宣言されたオブジェクトのどの部分のアドレスも、計算することはできない(記憶域クラス指定子registerを伴って宣言した変数には、アドレス演算子( & )を適用する事はできない)<ref name="jtc1-sc22-wg14-n2596-6.11.5"/>。
変数は一般にメモリー上に確保されるが、メモリーへのアクセスは比較的低速である。
|