teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

表現を修正

2021/01/16 08:28

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -13,6 +13,4 @@
13
13
 
14
14
  そして、後ろの方の要素のメモリアドレスのほうが、先頭の要素のメモリアドレスよりも大きいので、引き算の順序は`p - ch`ということになります。
15
15
 
16
- 同じ配列の2つの要素のメモリアドレスの値を引き算し、1個あたりのサイズで割ると、2つの要素の添え字の差が得られます。このプログラムでは、先頭を「1番目」と表示するために、さらに1を加えています。
16
+ 同じ配列の2つの要素のメモリアドレスの値を引き算ると、2つの要素の添え字の差が得られます。このプログラムでは、先頭を「1番目」と表示するために、さらに1を加えています。
17
-
18
- 補足: sizeof(char)をわざわざ書いているのは、(このプログラムが学習用のものだとすると)「char以外のデータを扱うときのヒント」ではないですかね。intやdoubleの配列ではsizeof(int)やsizeof(double)で割って要素数などを求めることになります。

1

補足を追加

2021/01/16 08:28

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -13,4 +13,6 @@
13
13
 
14
14
  そして、後ろの方の要素のメモリアドレスのほうが、先頭の要素のメモリアドレスよりも大きいので、引き算の順序は`p - ch`ということになります。
15
15
 
16
- 同じ配列の2つの要素のメモリアドレスの値を引き算し、1個あたりのサイズで割ると、2つの要素の添え字の差が得られます。このプログラムでは、先頭を「1番目」と表示するために、さらに1を加えています。
16
+ 同じ配列の2つの要素のメモリアドレスの値を引き算し、1個あたりのサイズで割ると、2つの要素の添え字の差が得られます。このプログラムでは、先頭を「1番目」と表示するために、さらに1を加えています。
17
+
18
+ 補足: sizeof(char)をわざわざ書いているのは、(このプログラムが学習用のものだとすると)「char以外のデータを扱うときのヒント」ではないですかね。intやdoubleの配列ではsizeof(int)やsizeof(double)で割って要素数などを求めることになります。