回答編集履歴

1

補足追加

2016/09/29 14:44

投稿

tkmtmkt
tkmtmkt

スコア1800

test CHANGED
@@ -29,3 +29,61 @@
29
29
  *top = (*top) + 1;
30
30
 
31
31
  ```
32
+
33
+
34
+
35
+ **【補足】**
36
+
37
+
38
+
39
+ 異なる型の変数を同じ名前で宣言しているのでプログラムがわかりづらくなっています。
40
+
41
+
42
+
43
+ 以下の関数の引数topについて、
44
+
45
+
46
+
47
+ ```c
48
+
49
+ bool push(int data, int *stack, int *top);
50
+
51
+ int pop(int *stack, int *top);
52
+
53
+ int peek(int *stack, int *top);
54
+
55
+ ```
56
+
57
+
58
+
59
+ 次のようにポインタ型であることを明示するか、
60
+
61
+
62
+
63
+ ```c
64
+
65
+ bool push(int data, int *stack, int *p_top);
66
+
67
+ int pop(int *stack, int *p_top);
68
+
69
+ int peek(int *stack, int *p_top);
70
+
71
+ ```
72
+
73
+
74
+
75
+ 次のように参照で宣言したほうがよいです。
76
+
77
+
78
+
79
+ ```c
80
+
81
+ bool push(int data, int *stack, int &top);
82
+
83
+ int pop(int *stack, int &top);
84
+
85
+ int peek(int *stack, int &top);
86
+
87
+ ```
88
+
89
+