!extend:checked:vvvvv:1000:512
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 151
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cf8f-fy95)
2019/04/02(火) 11:23:37.62ID:SQXqRaAc0 >>661
片山先生は私とは比較にならないほど生産性の高いプログラマですよ
片山先生は私とは比較にならないほど生産性の高いプログラマですよ
673デフォルトの名無しさん (ワッチョイ df01-LXA5)
2019/05/25(土) 16:17:34.75ID:Tic4GHY30 >>673
コメントありがとうございます。確かに >>668 には誤りが含まれていました
ISO/IEC 9899:1999
6.7.2.1.5
As discussed in 6.2.5, a structure is a type consisting of a sequence of members, whose
storage is allocated in an ordered sequence,
JIS X3010:2003
構造体は,メンバの列から成る型とし,メンバの記憶域は,並べられた順に割り付ける(6.2.5参照)。
しかし、この記述は構造体のパディングが構造体の先頭に詰められる場合を排除していないと考えます
よって、>>658
>多重じゃない継承の場合Cでは1つめのメンバにベースクラスのインスタンスを書く
>それだけで呼び出し元のコードはほぼなにも考えずにベースクラスの機能を使うことができる
構造体の先頭にパディングがあった場合は、この記述は正しくないのではないでしょうか。
コメントありがとうございます。確かに >>668 には誤りが含まれていました
ISO/IEC 9899:1999
6.7.2.1.5
As discussed in 6.2.5, a structure is a type consisting of a sequence of members, whose
storage is allocated in an ordered sequence,
JIS X3010:2003
構造体は,メンバの列から成る型とし,メンバの記憶域は,並べられた順に割り付ける(6.2.5参照)。
しかし、この記述は構造体のパディングが構造体の先頭に詰められる場合を排除していないと考えます
よって、>>658
>多重じゃない継承の場合Cでは1つめのメンバにベースクラスのインスタンスを書く
>それだけで呼び出し元のコードはほぼなにも考えずにベースクラスの機能を使うことができる
構造体の先頭にパディングがあった場合は、この記述は正しくないのではないでしょうか。
>>674
> a type consisting of a sequence of members, whose storage is allocated …
この is にも惑わされてしまいました
これは
a type consisting of a sequence of members, each of which is allocated about storage in an ordered sequence
とか
a type consisting of a sequence of members, each of which's storage is allocated in an ordered sequence
くらいに解釈するべきなんですね
検討する機会をいただきありがとうございました
> a type consisting of a sequence of members, whose storage is allocated …
この is にも惑わされてしまいました
これは
a type consisting of a sequence of members, each of which is allocated about storage in an ordered sequence
とか
a type consisting of a sequence of members, each of which's storage is allocated in an ordered sequence
くらいに解釈するべきなんですね
検討する機会をいただきありがとうございました
677デフォルトの名無しさん (ブーイモ MMcb-wr5r)
2019/05/25(土) 21:04:32.61ID:DDy3bloZM >>675
絶対許さんぞおおおお
絶対許さんぞおおおお
678デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/25(土) 21:07:06.72ID:aM9QB8YDa オブジェクト指向って抽象化が目的なのに、メモリ配置とか気にするのは馬鹿みたいだよな
679デフォルトの名無しさん (ワッチョイ e701-GX6Y)
2019/05/25(土) 21:23:55.56ID:cjrLAMgS0 MicrosoftのCOMはほとんど全てのコンパイラが構造体のメモリ配列を同じ様にするってのを利用してるんだっけ?
680デフォルトの名無しさん (ドコグロ MMeb-LXA5)
2019/05/25(土) 22:13:30.07ID:UN9uDEfaM >>678
ここにも概念と実装の区別がついてないバカが…w
ここにも概念と実装の区別がついてないバカが…w
681デフォルトの名無しさん (ワッチョイ bfba-GX6Y)
2019/05/25(土) 23:25:49.27ID:KPhaQb+n0 >>669
C言語でオブジェクト指向を表現する (クラス、継承)
https://qiita.com/qiita_kuru/items/8f3441bce9b2f53d1d62
この辺でも読んどけ。
「何故できるか」まで言及したもっといい文献はあるがカスには教えない。
俺は「せざるを得ない」状況だったのでCでOOしたが、ネイティブでOOできるならそれに越したことはない。
あ、同じ板でハッシュが一致してるのでお前は蟻。
C言語でオブジェクト指向を表現する (クラス、継承)
https://qiita.com/qiita_kuru/items/8f3441bce9b2f53d1d62
この辺でも読んどけ。
「何故できるか」まで言及したもっといい文献はあるがカスには教えない。
俺は「せざるを得ない」状況だったのでCでOOしたが、ネイティブでOOできるならそれに越したことはない。
あ、同じ板でハッシュが一致してるのでお前は蟻。
682デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/26(日) 01:24:13.78ID:zv+FEFKTa >>681
またおまえか
またおまえか
683デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/26(日) 08:36:08.16ID:o+/j3IaP0684デフォルトの名無しさん (ワッチョイ e7dc-dCWx)
2019/05/26(日) 08:56:22.54ID:7tI1cTYc0 もうこんなとこで喧嘩しても勝敗つかないんだからやめろw
仲良くできねえのかお前らは
仲良くできねえのかお前らは
685デフォルトの名無しさん (ワッチョイ df2c-o9SV)
2019/05/26(日) 12:29:05.12ID:lzKtO2WM0 でも冷静になって考えてみろ
単細胞時代から何億年と喧嘩してきた結果今の人間がいる訳だから喧嘩をやめてしまったらそれは果たして生物と言えるのか
逆に言えばAIが人知を超える時
人間は機械に滅ぼされ地球から人間はいなくなっているという事
つまり今何をすべきかと言うと人間は思考をやめアホになるべきである
そうアホの坂田こそ未来の救世主ネオなのである
単細胞時代から何億年と喧嘩してきた結果今の人間がいる訳だから喧嘩をやめてしまったらそれは果たして生物と言えるのか
逆に言えばAIが人知を超える時
人間は機械に滅ぼされ地球から人間はいなくなっているという事
つまり今何をすべきかと言うと人間は思考をやめアホになるべきである
そうアホの坂田こそ未来の救世主ネオなのである
>>681
そのご紹介のリンク先は、内容について、はっきりいって詰めが甘いです
すなわち、継承と委譲を区別できていません
そんな中途半端な理解で quita に掲載するとか、玉か石かどちらかといえば、石の部類でしょう、全然参考になりませんでした
そんな中途半端な内容の記事を掲載するあなたも同様と判断いたします
そのご紹介のリンク先は、内容について、はっきりいって詰めが甘いです
すなわち、継承と委譲を区別できていません
そんな中途半端な理解で quita に掲載するとか、玉か石かどちらかといえば、石の部類でしょう、全然参考になりませんでした
そんな中途半端な内容の記事を掲載するあなたも同様と判断いたします
688デフォルトの名無しさん (ワッチョイ df33-Fpyl)
2019/05/26(日) 15:46:43.76ID:aNhG7Lwu0 >>686
「継承」に必要な操作一式を委譲に基づいて提供できているなら継承できていると思うんだけど、
言語サポートを伴って暗黙的に機能しない限り「継承」と呼ぶべきではない、ということなの?
そこで明確に区別することにあんまり意義が見出せないんだけど、その定義どっか出典示せる?
「継承」に必要な操作一式を委譲に基づいて提供できているなら継承できていると思うんだけど、
言語サポートを伴って暗黙的に機能しない限り「継承」と呼ぶべきではない、ということなの?
そこで明確に区別することにあんまり意義が見出せないんだけど、その定義どっか出典示せる?
>>688
委譲による実装で継承を実現できているのなら、それは継承(の一形態)である、…@ という主張ですね
@は私にも理解できますが、委譲はダイヤモンド継承を回避できない欠点があるのでは、と考えています
「ダイヤモンド継承」については C++ の書籍には大概載っているかと、具体的な書籍名は探しておきます
委譲による実装で継承を実現できているのなら、それは継承(の一形態)である、…@ という主張ですね
@は私にも理解できますが、委譲はダイヤモンド継承を回避できない欠点があるのでは、と考えています
「ダイヤモンド継承」については C++ の書籍には大概載っているかと、具体的な書籍名は探しておきます
690デフォルトの名無しさん (ワッチョイ df59-eVvB)
2019/05/26(日) 16:00:20.28ID:Jdhtsrqd0 まあ継承なんてオブジェクト指向と関係ないからね
692デフォルトの名無しさん (ワッチョイ df33-Fpyl)
2019/05/26(日) 16:08:55.02ID:aNhG7Lwu0 >>689
ちょっと何言ってるかわからないな。
ダイアモンド継承の問題を「継承」で回避しているが委譲では回避できないであろう例を挙げてくれたら考える。
明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。
ちょっと何言ってるかわからないな。
ダイアモンド継承の問題を「継承」で回避しているが委譲では回避できないであろう例を挙げてくれたら考える。
明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。
693デフォルトの名無しさん (ワッチョイ df59-eVvB)
2019/05/26(日) 16:22:19.45ID:Jdhtsrqd0 >>691
なにって、言語を知りたいということ?
なにって、言語を知りたいということ?
694デフォルトの名無しさん (ワッチョイ a7da-n/qg)
2019/05/26(日) 16:37:44.23ID:vwTAovQx0 クラスベースのOOP言語ではクラスの継承は一般的だけどプロトタイプベースのOOP言語では継承の概念は存在しないよ
>>692
クラス A, B, C, D について、
A のメンバ変数を a とする、また
B->A(B は A を派生する)
C->A
D->B, C (多重継承)
において、これを委譲で実装すると、B.A.a と C.A.a が同じであるべきにもかかわらず二重にインスタンスとして生成されてしまうので、
継承で実装した D.a を、委譲で実装した D.B.a と同一視するか、D.C.a と同一視するか、また継承における D.a を更新した場合に委譲では D.B.a と D.C.a の両方を更新するコードを生成しなければならないのか、
等あいまいな部分がでてくる、これがダイヤモンド継承問題です
継承で実装すれば、C++ ではこれを仮想継承といいますが D.a の実態を一つに限定することができますし、D.B.a, D.C.a の両方を保存することもできます、つまりモデリングにおいて選択肢を準備できる
しかし委譲で実装すると D.a の実態を一つに限定することが不可能です、つまり選択肢を準備できません
以上より委譲で継承のすべてを代行できないため、委譲と継承を区別する必要が生じると考えます
ただし、多重継承を認めないのであれば、委譲と継承は同一視しても差し支えないと考えます
クラス A, B, C, D について、
A のメンバ変数を a とする、また
B->A(B は A を派生する)
C->A
D->B, C (多重継承)
において、これを委譲で実装すると、B.A.a と C.A.a が同じであるべきにもかかわらず二重にインスタンスとして生成されてしまうので、
継承で実装した D.a を、委譲で実装した D.B.a と同一視するか、D.C.a と同一視するか、また継承における D.a を更新した場合に委譲では D.B.a と D.C.a の両方を更新するコードを生成しなければならないのか、
等あいまいな部分がでてくる、これがダイヤモンド継承問題です
継承で実装すれば、C++ ではこれを仮想継承といいますが D.a の実態を一つに限定することができますし、D.B.a, D.C.a の両方を保存することもできます、つまりモデリングにおいて選択肢を準備できる
しかし委譲で実装すると D.a の実態を一つに限定することが不可能です、つまり選択肢を準備できません
以上より委譲で継承のすべてを代行できないため、委譲と継承を区別する必要が生じると考えます
ただし、多重継承を認めないのであれば、委譲と継承は同一視しても差し支えないと考えます
>>693-694
ふーん、インタプリタ JavaScript には継承はないのですか
ふーん、インタプリタ JavaScript には継承はないのですか
697デフォルトの名無しさん (ワッチョイ a7da-n/qg)
2019/05/26(日) 16:41:38.74ID:vwTAovQx0699デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/26(日) 17:11:49.57ID:iR9VJ5EUa 継承がオブジェクト指向と無関係なんだから、委譲で実現する必要がない
700デフォルトの名無しさん (ワッチョイ df33-Fpyl)
2019/05/26(日) 17:25:25.86ID:aNhG7Lwu0 >>695
C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
アップキャストがnopで済むか、オフセットの足し算になるかなどの詳細に基づいて区別しろってことに
聞こえるんだけど、やっぱりそんな区別の意義が見えてこない。
C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
アップキャストがnopで済むか、オフセットの足し算になるかなどの詳細に基づいて区別しろってことに
聞こえるんだけど、やっぱりそんな区別の意義が見えてこない。
701デフォルトの名無しさん (ワッチョイ df01-LXA5)
2019/05/26(日) 17:39:21.34ID:kcdU4Ge60 もうそろそろ別スレ立ててやれや
> それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
とか言う様な奴を相手にしても永遠に終わらんと思うが…
> それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
とか言う様な奴を相手にしても永遠に終わらんと思うが…
>>700
>C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
そこで実現されているのは私のいうところの継承であって、私のいうところの委譲ではありません
委譲ではダイヤモンド継承に対応できない(選択肢を提供できない)
したがって、委譲と継承とは区別するべきであり委譲で継承を実装するべきではない、という私の主観には一貫性があると思います
>C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
そこで実現されているのは私のいうところの継承であって、私のいうところの委譲ではありません
委譲ではダイヤモンド継承に対応できない(選択肢を提供できない)
したがって、委譲と継承とは区別するべきであり委譲で継承を実装するべきではない、という私の主観には一貫性があると思います
703デフォルトの名無しさん (ワッチョイ 877c-eVvB)
2019/05/26(日) 17:56:41.22ID:NrZyzakr0704デフォルトの名無しさん (ワッチョイ df33-Fpyl)
2019/05/26(日) 18:07:56.35ID:aNhG7Lwu0 >>703
私がいつ「継承は要らない子」とかいいましたか?
あくまでも「継承を委譲で実装できない」とは言っていますが(これは部分的に意見を修正していますが)「継承不要論」とかは一切主張していないと考えていますよ
私がいつ「継承は要らない子」とかいいましたか?
あくまでも「継承を委譲で実装できない」とは言っていますが(これは部分的に意見を修正していますが)「継承不要論」とかは一切主張していないと考えていますよ
>>704
継承と委譲の区別は必要だと思いますよ、その言葉を贈らせていただきましょう
継承と委譲の区別は必要だと思いますよ、その言葉を贈らせていただきましょう
707デフォルトの名無しさん (ワッチョイ 877c-eVvB)
2019/05/26(日) 18:34:08.86ID:NrZyzakr0708デフォルトの名無しさん (ワッチョイ 7f63-+klA)
2019/05/26(日) 18:57:26.86ID:mCW+tIqA0 もういい加減やめてくれないかな
やりたいなら、Cでクラス実装とかって
別スレたててその中でやってくれ
やりたいなら、Cでクラス実装とかって
別スレたててその中でやってくれ
709デフォルトの名無しさん (ワッチョイ 877c-eVvB)
2019/05/26(日) 19:03:45.32ID:NrZyzakr0 >>708
またおまえか
またおまえか
710デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/26(日) 20:50:42.22ID:o+/j3IaP0711デフォルトの名無しさん (ワッチョイ bfba-GX6Y)
2019/05/26(日) 23:38:41.06ID:SA/0I36h0 >>686
煽って、良い文献の情報を得ようとしているのだろうが、カスにはやらんよwwww
煽って、良い文献の情報を得ようとしているのだろうが、カスにはやらんよwwww
712デフォルトの名無しさん (ワッチョイ dfad-Yys2)
2019/05/27(月) 01:54:45.96ID:sXav5Bzw0713デフォルトの名無しさん (ワッチョイ 7f63-+klA)
2019/05/27(月) 02:52:02.77ID:jiPRfYyG0 ソロソロ終わって良いですよね?
この議論は、C使っている人とは違う世界に感じる
この議論は、C使っている人とは違う世界に感じる
714デフォルトの名無しさん (ワッチョイ e77c-eVvB)
2019/05/27(月) 03:09:42.07ID:HzhW79+j0 >>713
またおまえか
またおまえか
715デフォルトの名無しさん (ワッチョイ 87d2-Ni/X)
2019/05/27(月) 09:01:49.81ID:Nqk3VxBP0 stddef.hをインクルードして
#define __STDC_WANT_LIB_EXT1__ 1
を定義して
-std=c11をつけても
gccでrsize_tが使えないですけど
なぜですか?
windows版のGCCでは使えました
#define __STDC_WANT_LIB_EXT1__ 1
を定義して
-std=c11をつけても
gccでrsize_tが使えないですけど
なぜですか?
windows版のGCCでは使えました
716デフォルトの名無しさん (アウアウカー Sa3b-eVvB)
2019/05/27(月) 09:23:40.73ID:or6IbtWZa defineの順番とか…
717デフォルトの名無しさん (ワッチョイ 87d2-Ni/X)
2019/05/27(月) 09:34:14.79ID:Nqk3VxBP0 >>716
順番は試しましたが駄目でした
順番は試しましたが駄目でした
718デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/27(月) 10:04:44.33ID:PB+ZSyAza rsize_tって多分オプションだから実装されてないよね?
windowsはなぜか実装してる
windowsはなぜか実装してる
719デフォルトの名無しさん (ワッチョイ bfba-9b2Z)
2019/05/27(月) 10:11:08.57ID:Zyn15i1D0 C#でポインタ使えばC、C++は無くても良いんじゃないですか?
720デフォルトの名無しさん (ラクペッ MM7b-n/qg)
2019/05/27(月) 10:15:55.39ID:gR3ITcWOM C#使うならポインタのように面倒臭いこと考えなくても変数でも関数でも参照できるだろ
721デフォルトの名無しさん (ワッチョイ df79-buEI)
2019/05/27(月) 19:48:50.47ID:0mZL0xC90 C#のポインタはC/C++ほど使い勝手が良くない
C#でポインタを使ったところでパフォーマンスはC++の半分程度
まあトータルで見れば最優秀クラスの言語なのは間違いないけどね
C++みたいなスパゲティ言語ではないし
C#でポインタを使ったところでパフォーマンスはC++の半分程度
まあトータルで見れば最優秀クラスの言語なのは間違いないけどね
C++みたいなスパゲティ言語ではないし
722デフォルトの名無しさん (アウアウウー Saab-EYzY)
2019/05/27(月) 20:36:21.78ID:f4m/nmMua まあ、だいたいの後から出た言語はC/C++の欠点を補おうとしているのでポインタがあっても安全なのが普通だな。
723デフォルトの名無しさん (ワッチョイ c7c3-OWKl)
2019/05/27(月) 20:42:45.71ID:MaSSH1d10 安全じゃないのがc#のポインタの特長だろ。
特徴じゃなく
特徴じゃなく
724デフォルトの名無しさん (アウアウウー Saab-/OyN)
2019/05/27(月) 21:12:57.55ID:RgnUDQi4a そりゃC#のポインタ使うにはunsafeオプションが必要だからね。安全じゃないわね。
C#のポインタは過去資産APIを使うための必要悪って感じか。
C#のポインタは過去資産APIを使うための必要悪って感じか。
725デフォルトの名無しさん (ドコグロ MM1b-LXA5)
2019/05/28(火) 07:12:55.99ID:gr6HI2ftM726デフォルトの名無しさん (ワッチョイ dfb9-9b2Z)
2019/05/28(火) 09:09:59.25ID:HGTlDNNW0 数年前からこのプロジェクトがちょっと注目されてるけどどう思う?
RustはC++を置き換えてもCを置き換えないだろうと思うし、
ZigはCの置き換えとしては妥当なんじゃないかという気がする。
Cより高速、単純、堅牢らしい。
https://ziglang.org/
RustはC++を置き換えてもCを置き換えないだろうと思うし、
ZigはCの置き換えとしては妥当なんじゃないかという気がする。
Cより高速、単純、堅牢らしい。
https://ziglang.org/
727デフォルトの名無しさん (ワッチョイ dfb9-9b2Z)
2019/05/28(火) 09:29:30.01ID:HGTlDNNW0 Cより速いと主張
>Speaking of performance, Zig is faster than C.
単純な言語仕様
>Small, simple language
性能と堅牢性
>Performance and Safety: Choose Two
個人的にとても興味を持ってるんだが
>Speaking of performance, Zig is faster than C.
単純な言語仕様
>Small, simple language
性能と堅牢性
>Performance and Safety: Choose Two
個人的にとても興味を持ってるんだが
728デフォルトの名無しさん (ワッチョイ df79-buEI)
2019/05/28(火) 17:05:35.46ID:5GqHhS1Q0 CはC++ほどではないにせよ色々酷いから
Cを置き換えられる言語があるなら見てみたいしぜひ置き換えてほしい
Cを置き換えられる言語があるなら見てみたいしぜひ置き換えてほしい
729デフォルトの名無しさん (ワッチョイ dfa5-vAXu)
2019/05/28(火) 17:30:53.21ID:vL2LyOeQ0 >>726
ttps://www.spriters-resource.com/resources/sheets/34/36939.png
ちょっと検索してみたらもうドット絵まで準備されてるらしい
さすがに西洋人は仕事が早いな
ttps://www.spriters-resource.com/resources/sheets/34/36939.png
ちょっと検索してみたらもうドット絵まで準備されてるらしい
さすがに西洋人は仕事が早いな
730デフォルトの名無しさん (ワッチョイ df01-1tV+)
2019/05/28(火) 19:02:59.10ID:Pzgny9jf0 https://www.datadeliver.net/receiver/file_box.do?fb=966f97555e424f19a29d0d866b4b3cf5&rc=683943257e194056afc95195b542ba5d&lang=ja
キューを実装する?プログラムを書いたのだがコアダンプになってしまったため、どこが悪いのか調べるために1回だけenqueueをするように変えたら無限に10を生成するようになってしまった
どこが悪かったのか、どうして10が無限に生成されるのか、教えて欲しい
環境は学校の端末演習室でやったから詳しいことはわからんです
キューを実装する?プログラムを書いたのだがコアダンプになってしまったため、どこが悪いのか調べるために1回だけenqueueをするように変えたら無限に10を生成するようになってしまった
どこが悪かったのか、どうして10が無限に生成されるのか、教えて欲しい
環境は学校の端末演習室でやったから詳しいことはわからんです
731デフォルトの名無しさん (ワッチョイ 075f-dzUy)
2019/05/28(火) 19:04:37.65ID:F6815kaN0732デフォルトの名無しさん (ワッチョイ dfa5-vAXu)
2019/05/28(火) 20:11:39.46ID:vL2LyOeQ0 「無限に10を生成するようになってしまった」「どうして10が無限に生成されるのか」
コレがポイントだな
無限に生成してるように見えるだけだよ
要するにprintが悪い
whileだと分かりづらいんだよ
forだとラク
「q->head = temp;」とか、自分で書いてて分からなかったんだろ
だからwhile文だとこのケースでは分かりにくくなる
forを試gうのが正解
void print(struct queuel *q){
struct cell *pt;
printf("[");
for( pt = q; pt != NULL; pt = pt->next ){
printf(" %d", pt->data);
}
printf(" ]\n");
}
コレがポイントだな
無限に生成してるように見えるだけだよ
要するにprintが悪い
whileだと分かりづらいんだよ
forだとラク
「q->head = temp;」とか、自分で書いてて分からなかったんだろ
だからwhile文だとこのケースでは分かりにくくなる
forを試gうのが正解
void print(struct queuel *q){
struct cell *pt;
printf("[");
for( pt = q; pt != NULL; pt = pt->next ){
printf(" %d", pt->data);
}
printf(" ]\n");
}
733デフォルトの名無しさん (アウアウウー Saab-EYzY)
2019/05/28(火) 21:09:24.77ID:Rd7hCJnFa734デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/28(火) 21:27:52.19ID:jSvCRMUQ0 Pascalが嫌いな人が作った言語だ
735デフォルトの名無しさん (ワッチョイ df01-LXA5)
2019/05/28(火) 22:21:26.92ID:/lAZ9dU10736デフォルトの名無しさん (アウアウウー Saab-EYzY)
2019/05/28(火) 22:24:51.47ID:Rd7hCJnFa737デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/28(火) 23:20:22.65ID:jSvCRMUQ0 安全性って何だよ
インテルのerrataみたいなことか?
インテルのerrataみたいなことか?
738デフォルトの名無しさん (ワッチョイ 7f63-+klA)
2019/05/28(火) 23:34:40.02ID:IamnQRk90 子供にはナイフを使わせるなというのと同じ類いか
739デフォルトの名無しさん (ワッチョイ df01-LXA5)
2019/05/29(水) 04:57:03.97ID:mWed49vm0 >>736
いやOSを書くにはその安全性が邪魔になるから両立は難しいよ
いやOSを書くにはその安全性が邪魔になるから両立は難しいよ
740デフォルトの名無しさん (ワッチョイ dfb9-9b2Z)
2019/05/29(水) 06:20:35.18ID:D5Uzvk1s0 OSのコードはどんな感じなの?
ポインタを使ったトリッキーな事をやってるの?
未だにLinuxでバッファオーバーフローの脆弱性出てるよね
ポインタを使ったトリッキーな事をやってるの?
未だにLinuxでバッファオーバーフローの脆弱性出てるよね
741デフォルトの名無しさん (ドコグロ MM3b-LXA5)
2019/05/29(水) 06:48:57.50ID:Bfh00rIBM >>740
OSのソースなんてちょっとググればいくらでも出てくるから自分で見なよ
OSのソースなんてちょっとググればいくらでも出てくるから自分で見なよ
742デフォルトの名無しさん (ワッチョイ 67ab-K/jJ)
2019/05/29(水) 07:45:37.52ID:6C23lth10 見たこともないやつが議論してたのかよ
743デフォルトの名無しさん (ワッチョイ dfa5-vAXu)
2019/05/29(水) 08:03:59.01ID:aFUCBt4U0 詳細linuxとかいう1000ページの宗教書だろ
持ってるだけで御利益がある
持ってるだけで御利益がある
744デフォルトの名無しさん (スプッッ Sd9f-OWKl)
2019/05/29(水) 08:13:08.04ID:akQz27P/d オープンソースなのだから1分もあればソースコードくらい見られるだろうに
746デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/29(水) 19:51:04.91ID:D+pGsdPRa 今普通に静的・動的解析使うとバッファオーバーフローなんてあり得ない感じするわ。
747デフォルトの名無しさん (ワッチョイ df73-buEI)
2019/05/29(水) 20:40:15.44ID:rT4tqcG+0 strcpyとかsprintfとか使ってるコードはまだたくさんあるでしょ
dstのサイズ指定しないライブラリとか
dstのサイズ指定しないライブラリとか
748デフォルトの名無しさん (アウアウウー Saab-EYzY)
2019/05/29(水) 21:00:57.32ID:FFsAnOexa Cは標準ライブラリ考え直した方が良いかもね。
749デフォルトの名無しさん (トンモー MM97-OIQ8)
2019/05/31(金) 08:23:23.52ID:JBiczG6TM Cが最も好きだけど、
C十十のほうがライブラリが
便利なのあるから、
個人で趣味で作るものは最近は
CとC++混在で作ります。
わりと自由に混在できるので
とても助かってます。
こうゆの俺だけですかね?
C十十のほうがライブラリが
便利なのあるから、
個人で趣味で作るものは最近は
CとC++混在で作ります。
わりと自由に混在できるので
とても助かってます。
こうゆの俺だけですかね?
750デフォルトの名無しさん (アウアウエー Sae2-z5vN)
2019/05/31(金) 08:28:11.59ID:7PD5X056a C††
751デフォルトの名無しさん (ワッチョイ eaa5-K9GS)
2019/05/31(金) 08:30:02.90ID:LyENK1r60 C‡‡
752デフォルトの名無しさん (アウアウウー Sa1f-Y/KN)
2019/05/31(金) 09:21:15.46ID:GTUdpXapa С++
↑
キリル文字
↑
キリル文字
753デフォルトの名無しさん (トンモー MM97-OIQ8)
2019/05/31(金) 18:42:40.60ID:JBiczG6TM C十十つ
―ー
―ー
754デフォルトの名無しさん (ワッチョイ 0b52-2ZOZ)
2019/05/31(金) 18:46:16.16ID:4felF8bG0 C田田
755デフォルトの名無しさん (ブーイモ MM97-v/1q)
2019/05/31(金) 19:11:42.88ID:Ki0lpFF5M C云々
756デフォルトの名無しさん (アウアウウー Sa1f-Y/KN)
2019/05/31(金) 19:45:27.77ID:/GnAMAD/a ⊂┼┼
757デフォルトの名無しさん (スップ Sd8a-sEZ+)
2019/05/31(金) 21:44:53.32ID:r0b/3vSWd C言語認定一級を取得したら転職でどれぐらい評価されますか?
758デフォルトの名無しさん (アウアウウー Sa1f-Y/KN)
2019/05/31(金) 21:48:01.31ID:I0+j7s4/a さあ?
その会社がどの程度その知識を必要としているかで変わるのでは?
その会社がどの程度その知識を必要としているかで変わるのでは?
759デフォルトの名無しさん (スップ Sd8a-sEZ+)
2019/05/31(金) 21:48:52.32ID:r0b/3vSWd >>758
そういうときは一般化して正確じゃなくても妥当な範囲で思考して回答する癖をつけましょうね〜
そういうときは一般化して正確じゃなくても妥当な範囲で思考して回答する癖をつけましょうね〜
760デフォルトの名無しさん (ワッチョイ 5b01-lck+)
2019/05/31(金) 21:56:26.15ID:OHagz7+U0 うちの周囲じゃ全く参考にもしていないし資格給が出るわけでもないって所が多いな
761デフォルトの名無しさん (ワッチョイ 9f02-yed5)
2019/05/31(金) 22:06:46.05ID:4X6MeSMk0 英検1級の方が重要そう。
762デフォルトの名無しさん (スフッ Sd8a-92O4)
2019/06/01(土) 11:44:52.57ID:2YdNSpFdd763デフォルトの名無しさん (ワッチョイ 8a52-gkx+)
2019/06/01(土) 18:13:48.99ID:w9UetZ9K0 >>762
それはC言語の問題ではなかろう
それはC言語の問題ではなかろう
764デフォルトの名無しさん (スフッ Sd8a-92O4)
2019/06/01(土) 18:56:55.84ID:2YdNSpFdd765デフォルトの名無しさん (ワッチョイ 8a52-gkx+)
2019/06/01(土) 19:26:44.16ID:w9UetZ9K0 >>764
それは使用する言語とは無関係に、雨らしく見せるアルゴリズムの問題ではないか?
ある処理をC言語で実現したいがどう書いていいか分からないとか、書いたものが想定通りにならないのはなぜかとかなら答えようがあるが。
それは使用する言語とは無関係に、雨らしく見せるアルゴリズムの問題ではないか?
ある処理をC言語で実現したいがどう書いていいか分からないとか、書いたものが想定通りにならないのはなぜかとかなら答えようがあるが。
766デフォルトの名無しさん (スフッ Sd8a-92O4)
2019/06/01(土) 21:18:58.51ID:2YdNSpFdd >>765
1番上の行で雨を発生させるとき何列目で発生させるかは乱数できめているはずなのに、何行か連続で同じ列に発生しているのがよく見られていて、それが何故なのかがわかりません。
このプログラムは改良中のもので、その前のプログラムは雨粒が全部同じ速さのやつを作っていてそれは問題なく(上の現象も起きず)動いていたので、乱数でなくプログラムの問題かなと思って質問しました
1番上の行で雨を発生させるとき何列目で発生させるかは乱数できめているはずなのに、何行か連続で同じ列に発生しているのがよく見られていて、それが何故なのかがわかりません。
このプログラムは改良中のもので、その前のプログラムは雨粒が全部同じ速さのやつを作っていてそれは問題なく(上の現象も起きず)動いていたので、乱数でなくプログラムの問題かなと思って質問しました
767デフォルトの名無しさん (ワッチョイ 0b52-2ZOZ)
2019/06/01(土) 21:37:41.87ID:njUSTe0T0 >>766
乱数っていうのは偏るものだから、同じ列に連続して発生することが普通。
同じ列に発生しないような作為をする場合は乱数とは言わないと思う。
https://twitter.com/Newton_Science/status/1031788874836529152
あと、'o'が縦に連続するのに違和感があるのなら'|'などに置き換えれば良いと思う。
https://i.imgur.com/wR1mNu5.gif
みたいな感じで
適当に作っててチカチカしちゃってるからあまり参考にならないかもしれない
https://twitter.com/5chan_nel (5ch newer account)
乱数っていうのは偏るものだから、同じ列に連続して発生することが普通。
同じ列に発生しないような作為をする場合は乱数とは言わないと思う。
https://twitter.com/Newton_Science/status/1031788874836529152
あと、'o'が縦に連続するのに違和感があるのなら'|'などに置き換えれば良いと思う。
https://i.imgur.com/wR1mNu5.gif
みたいな感じで
適当に作っててチカチカしちゃってるからあまり参考にならないかもしれない
https://twitter.com/5chan_nel (5ch newer account)
768デフォルトの名無しさん (スフッ Sd8a-92O4)
2019/06/01(土) 22:01:32.09ID:2YdNSpFdd >>767
すごい!!!
一気に雨っぽく見えるようになりましたw
乱数の件大変勉強になりました
もっと改良するとしたら、そのツイートのように不自然に見えるランダムさをなくすため振るいにかけるような工夫もしてみようと思います。
あと、もしよければGIFのやつのソースコードを貼ってもらえないでしょうか。よろしくお願いします
すごい!!!
一気に雨っぽく見えるようになりましたw
乱数の件大変勉強になりました
もっと改良するとしたら、そのツイートのように不自然に見えるランダムさをなくすため振るいにかけるような工夫もしてみようと思います。
あと、もしよければGIFのやつのソースコードを貼ってもらえないでしょうか。よろしくお願いします
769デフォルトの名無しさん (アウアウエー Sae2-z5vN)
2019/06/01(土) 22:03:49.20ID:gZsm+Fjra 一様分布でなくても乱数とは言えるだろう
770デフォルトの名無しさん (ワッチョイ 0b52-2ZOZ)
2019/06/01(土) 22:10:20.53ID:njUSTe0T0 >>768
一応貼るけど自分はC言語あまり得意でない上に適当にササっと作ったのだからあんまり参考にはしないでほしい
https://ideone.com/FG3nNS
system("cls")で画面更新してるけどチカチカさせずに滑らかに動かしたいならpdcursesとか使ったほうが良いと思う
あとLinuxだったらclsでは動かない
一応貼るけど自分はC言語あまり得意でない上に適当にササっと作ったのだからあんまり参考にはしないでほしい
https://ideone.com/FG3nNS
system("cls")で画面更新してるけどチカチカさせずに滑らかに動かしたいならpdcursesとか使ったほうが良いと思う
あとLinuxだったらclsでは動かない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 日本の場合、いつも凶悪な行動に移すのは極左なんだよね。右翼はほとんどなにもしない [201193242]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
