13/03/10 17:10:32.65
みなさま、有難うございます
>>31>>32>>34
インクリメント演算子についてしらべたところ、
「値を1増加させるという意味は同じものの、増加させるタイミングが異なる。
後置のものは値を使った後に増加させ、前置のものは値を増加させてから使う。」
だからちゃんと1番目の数値がsumに代入されていたんですね。ちなみに>>29で前置インクリメントにしてみたら暴走しました。
逆にデクリメントするのだったら前置にしないと変な値になるんですね。
int *data = array + 10;
int sum = 0;
do {sum += * --data;
}while (data >array);
>>33
sum += * p_array++ ;は、
sum += * p_array;
p_array++;
と同じになりますね
>>35>>36
for(i=0;i<10;i=i+1) {
sum = sum + array[i];}
普通は配列の合計値はこうして出した方が素直ですよね。(sumの出力は代入の確認で、配列のint宣言はコピーし忘れてました。)
自分は昔のCPU用のプログラムをいじってみようと思っています。
ポインタ演算は使うと速くてサイズも小さくなるそうなので、使ってみようと思います。