「C言語/データ型と変数の高度な話題」の版間の差分

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