回答編集履歴
1
説明の改善
answer
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
> p->size = sizeof(p->arr); //ここが怪しい
|
2
2
|
|
3
|
-
sizeof(p->arr)は、arrのサイズ(=ポインタのサイズ、固定値)になります。領域サイズを入れようとしている
|
3
|
+
sizeof(p->arr)は、arrのサイズ(=ポインタのサイズ、固定値)になります。arrが指す領域のサイズを入れようとしているようですが、スタックの要素数を入れるのがいいでしょう。例) p->size = size;
|
4
4
|
というか
|
5
5
|
> bool istack_full(istackp p) { return p->ptr > p->size; }
|
6
6
|
|
7
|
-
そういう想定になってますよね。
|
7
|
+
こっちの関数はそういう想定になってますよね。
|
8
8
|
|
9
9
|
2()ないの数字を変えても出力結果が同じ理由
|
10
10
|
|
11
|
-
|
11
|
+
前述の通り
|
12
|
-
あと、test_of_fullstack(char *t) に false を返すコードがない。warning でてるでしょ。
|