回答編集履歴

1

追記

2020/07/24 01:26

投稿

otn
otn

スコア84633

test CHANGED
@@ -15,3 +15,47 @@
15
15
 
16
16
 
17
17
  「引き数という概念自体」が理解できていない場合は、補足下さい。
18
+
19
+
20
+
21
+ #追記
22
+
23
+ 引き数について。
24
+
25
+
26
+
27
+ 数学の関数で、`sin()`というのがありますが、これは「三角関数の正弦(サイン)を計算して返す関数」です。
28
+
29
+ 使うときに`sin(3)`とか書くと思いますが、この`3`が関数に引き渡す値で、これを実引数と言います。
30
+
31
+ この関数を自分で書く場合、関数の頭書きは`double sin(double kakudo)`のようにカッコの中に、受け取る変数名とその型を書きます。この受け取る変数を仮引数と言います。
32
+
33
+ 実引数と仮引数の型が異なる場合、仮引数の型に変換可能であれば変換されて関数に引き渡されます。変換不能ならエラー。
34
+
35
+
36
+
37
+ 公式を使って、`kakudo`の値からサイン値を求めたら、`return 計算結果;`書くと呼び出した側に計算結果の値を返すことが出来ます。
38
+
39
+
40
+
41
+ という風に、引き数の仕組みと、`return`による返り値とで、関数と呼び出し側との間で情報をやりとりします。
42
+
43
+ 例えば絶対値を返す関数だとこうなります。
44
+
45
+ ```C
46
+
47
+ double zettaichi(double hikisuu){
48
+
49
+ if(hikisuu>=0) return hikisuu;
50
+
51
+ return -hikisuu;
52
+
53
+ }
54
+
55
+ 使う側:
56
+
57
+ x = zettaichi(a-10);
58
+
59
+ ```
60
+
61
+ 応用編として、引き数に「変数のアドレス」を渡して、呼び出し側の変数の中身を書き換えることもできます。`scanf`等で使います。