トップページ > プログラム > 2015年01月04日 > 9lboT9rs

書き込み順位&時間帯一覧

8 位/222 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000130217



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C言語なら俺に聞け(入門編)Part 127 [転載禁止]©2ch.net

書き込みレス一覧

C言語なら俺に聞け(入門編)Part 127 [転載禁止]©2ch.net
553 :デフォルトの名無しさん[sage]:2015/01/04(日) 19:51:47.45 ID:9lboT9rs
C++みたく以下のことを行いたいですが実装可能でしょうか

#include "mystack.h"

int main()
{
    Stack *s1, *s2;
    size_t size = 100;

    s1 = Stack_new(); // 要素を stack.h 内で設定した定数個分確保
    s2 = Stack_new(size); // 要素を size 個確保

    Stack_delete(s1);
    Stack_delete(s2);

    return 0;
}
C言語なら俺に聞け(入門編)Part 127 [転載禁止]©2ch.net
554 :デフォルトの名無しさん[sage]:2015/01/04(日) 20:12:38.77 ID:9lboT9rs
間違えました。こんな感じです
関数のオーバーロードはC言語ではできないと思いますが
擬似的に再現することはできますか

#include "mystack.h"

int main()
{
    Stack *s1, *s2;
    size_t size = 100;

    Stack_init(&s1); // stack.c 内で設定した定数個分確保
    Stack_init(&s2, size); // 要素を size 個確保

    Stack_delete(s1);
    Stack_delete(s2);

    return 0;
}
C言語なら俺に聞け(入門編)Part 127 [転載禁止]©2ch.net
556 :デフォルトの名無しさん[sage]:2015/01/04(日) 20:15:42.94 ID:9lboT9rs
また間違えました…
連投すみません…

#include "mystack.h"

int main()
{
    Stack s1, s2;
    size_t size = 100;

    Stack_init(&s1); // stack.c 内で設定した定数個分確保
    Stack_init(&s2, size); // 要素を size 個確保

    Stack_finish(&s1);
    Stack_finish(&s2);

    return 0;
}
C言語なら俺に聞け(入門編)Part 127 [転載禁止]©2ch.net
557 :デフォルトの名無しさん[sage]:2015/01/04(日) 20:16:29.02 ID:9lboT9rs
>>555
やはり size = 0 のようにするのが普通ですか
ありがとうございます
C言語なら俺に聞け(入門編)Part 127 [転載禁止]©2ch.net
560 :デフォルトの名無しさん[sage]:2015/01/04(日) 22:03:19.80 ID:9lboT9rs
>>559
おすすめはしないというのは
予期しない変数を受け取った場合の処理が
面倒ということで合ってますか?
C言語なら俺に聞け(入門編)Part 127 [転載禁止]©2ch.net
562 :デフォルトの名無しさん[sage]:2015/01/04(日) 22:28:09.23 ID:9lboT9rs
>>561
分けると要素数を指定して確保する場合に
initとresizeを両方書くのが面倒だと思いました(2回確保してますし…)
どのみち足りなくなったらresizeするので両方書くんですが…

CSTLの存在を初めて知りました
見て勉強します
ありがとうございます
C言語なら俺に聞け(入門編)Part 127 [転載禁止]©2ch.net
568 :デフォルトの名無しさん[sage]:2015/01/04(日) 23:42:24.96 ID:9lboT9rs
>>564
reserveで合ってます
今、足りなくなったら自動的に拡張するものを自分で作ってます


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。