質問編集履歴

2

文章修正

2021/04/29 13:24

投稿

tentative_user
tentative_user

スコア1

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  配列中に指定した数字がどこに入っているか調べる関数でポインタ渡しを使っているのですが、
12
12
 
13
- 整数を扱っているにもかかわらず、実引数で渡すアドレスがなぜかcharのサイズを足た状態で指定されています。
13
+ 整数を扱っているにもかかわらず、実引数で渡すアドレスがなぜかcharて取り扱われています。
14
14
 
15
15
 
16
16
 
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- と書いてあるのですが、1byte足す理由かりません。。。
27
+ と書いてあるのですが、charが1byteだと整数を扱っていい意味かりません。。。
28
28
 
29
29
 
30
30
 
@@ -54,7 +54,7 @@
54
54
 
55
55
 
56
56
 
57
- char *ptr = (char *)arr;
57
+ char *ptr = (char *)arr; // <- ここでなぜcharとして扱われているかが不明
58
58
 
59
59
 
60
60
 
@@ -62,7 +62,7 @@
62
62
 
63
63
  for (i=0; i<arr_size; i++)
64
64
 
65
- if (compare(ptr + i*ele_size, x)) // <- ここでなぜcharのサイズ分だけ渡しているのかが不明
65
+ if (compare(ptr + i*ele_size, x))
66
66
 
67
67
  return i;
68
68
 

1

文章修正

2021/04/29 13:24

投稿

tentative_user
tentative_user

スコア1

test CHANGED
File without changes
test CHANGED
@@ -8,9 +8,9 @@
8
8
 
9
9
 
10
10
 
11
- 配列中に指定した数字が入っているか調べる関数でポインタ渡しを使っているのですが、
11
+ 配列中に指定した数字がどこに入っているか調べる関数でポインタ渡しを使っているのですが、
12
12
 
13
- 実引数で渡すアドレスがなぜかcharのサイズを足した状態で指定されています。
13
+ 整数を扱っているにもかかわらず、実引数で渡すアドレスがなぜかcharのサイズを足した状態で指定されています。
14
14
 
15
15
 
16
16
 
@@ -78,7 +78,7 @@
78
78
 
79
79
  int main(){
80
80
 
81
- int arr[] = {2, 5, 7, 90, 70};
81
+ int arr[] = {2, 5, 7, 90, 70}; // <- 取り扱う対象は整数
82
82
 
83
83
  int n = sizeof(arr)/sizeof(arr[0]);
84
84