C言語なら俺に聞け 151

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cf8f-fy95)
垢版 |
2019/04/02(火) 11:23:37.62ID:SQXqRaAc0
!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
2019/05/26(日) 17:11:49.57ID:iR9VJ5EUa
継承がオブジェクト指向と無関係なんだから、委譲で実現する必要がない
2019/05/26(日) 17:25:25.86ID:aNhG7Lwu0
>>695
C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
アップキャストがnopで済むか、オフセットの足し算になるかなどの詳細に基づいて区別しろってことに
聞こえるんだけど、やっぱりそんな区別の意義が見えてこない。
2019/05/26(日) 17:39:21.34ID:kcdU4Ge60
もうそろそろ別スレ立ててやれや

> それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
とか言う様な奴を相手にしても永遠に終わらんと思うが…
2019/05/26(日) 17:50:19.72ID:CpBTYp0n0
>>700
>C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
そこで実現されているのは私のいうところの継承であって、私のいうところの委譲ではありません
委譲ではダイヤモンド継承に対応できない(選択肢を提供できない)
したがって、委譲と継承とは区別するべきであり委譲で継承を実装するべきではない、という私の主観には一貫性があると思います
2019/05/26(日) 17:56:41.22ID:NrZyzakr0
>>702
継承はだめだよ
これから使ったら反省文ね
2019/05/26(日) 18:07:56.35ID:aNhG7Lwu0
>>702
むちゃくちゃだなぁ。「私のいうところの」「継承」「委譲」の区別がどうにも掴めないし、
その区別の意義も示されなさそうだし、迷惑してる人もいるみたいだから、離脱させてもらうよ。
2019/05/26(日) 18:09:31.06ID:CpBTYp0n0
>>703
私がいつ「継承は要らない子」とかいいましたか?
あくまでも「継承を委譲で実装できない」とは言っていますが(これは部分的に意見を修正していますが)「継承不要論」とかは一切主張していないと考えていますよ
2019/05/26(日) 18:13:13.41ID:CpBTYp0n0
>>704
継承と委譲の区別は必要だと思いますよ、その言葉を贈らせていただきましょう
2019/05/26(日) 18:34:08.86ID:NrZyzakr0
>>705
だから、世界の共通認識として要らないもの。
使っちゃだめ。
2019/05/26(日) 18:57:26.86ID:mCW+tIqA0
もういい加減やめてくれないかな
やりたいなら、Cでクラス実装とかって
別スレたててその中でやってくれ
2019/05/26(日) 19:03:45.32ID:NrZyzakr0
>>708
またおまえか
2019/05/26(日) 20:50:42.22ID:o+/j3IaP0
>>706
私のいうところのって、最初の論旨からずいぶん乖離しているな
カプセル化や継承ができるかどうかって話だっただろうがよ

いつから、おまえのお気に召すかどうかって話になったんだよ
2019/05/26(日) 23:38:41.06ID:SA/0I36h0
>>686
煽って、良い文献の情報を得ようとしているのだろうが、カスにはやらんよwwww
712デフォルトの名無しさん (ワッチョイ dfad-Yys2)
垢版 |
2019/05/27(月) 01:54:45.96ID:sXav5Bzw0
https://jp.quora.com/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B
2019/05/27(月) 02:52:02.77ID:jiPRfYyG0
ソロソロ終わって良いですよね?
この議論は、C使っている人とは違う世界に感じる
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では使えました
2019/05/27(月) 09:23:40.73ID:or6IbtWZa
defineの順番とか…
717デフォルトの名無しさん (ワッチョイ 87d2-Ni/X)
垢版 |
2019/05/27(月) 09:34:14.79ID:Nqk3VxBP0
>>716
順番は試しましたが駄目でした
2019/05/27(月) 10:04:44.33ID:PB+ZSyAza
rsize_tって多分オプションだから実装されてないよね?
windowsはなぜか実装してる
719デフォルトの名無しさん (ワッチョイ bfba-9b2Z)
垢版 |
2019/05/27(月) 10:11:08.57ID:Zyn15i1D0
C#でポインタ使えばC、C++は無くても良いんじゃないですか?
2019/05/27(月) 10:15:55.39ID:gR3ITcWOM
C#使うならポインタのように面倒臭いこと考えなくても変数でも関数でも参照できるだろ
2019/05/27(月) 19:48:50.47ID:0mZL0xC90
C#のポインタはC/C++ほど使い勝手が良くない
C#でポインタを使ったところでパフォーマンスはC++の半分程度

まあトータルで見れば最優秀クラスの言語なのは間違いないけどね
C++みたいなスパゲティ言語ではないし
722デフォルトの名無しさん (アウアウウー Saab-EYzY)
垢版 |
2019/05/27(月) 20:36:21.78ID:f4m/nmMua
まあ、だいたいの後から出た言語はC/C++の欠点を補おうとしているのでポインタがあっても安全なのが普通だな。
2019/05/27(月) 20:42:45.71ID:MaSSH1d10
安全じゃないのがc#のポインタの特長だろ。
特徴じゃなく
2019/05/27(月) 21:12:57.55ID:RgnUDQi4a
そりゃC#のポインタ使うにはunsafeオプションが必要だからね。安全じゃないわね。
C#のポインタは過去資産APIを使うための必要悪って感じか。
2019/05/28(火) 07:12:55.99ID:gr6HI2ftM
>>722
Cの前からでてたPascalにもポインタはあるんだが…
むしろC/C++が例外的
726デフォルトの名無しさん (ワッチョイ dfb9-9b2Z)
垢版 |
2019/05/28(火) 09:09:59.25ID:HGTlDNNW0
数年前からこのプロジェクトがちょっと注目されてるけどどう思う?
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

個人的にとても興味を持ってるんだが
2019/05/28(火) 17:05:35.46ID:5GqHhS1Q0
CはC++ほどではないにせよ色々酷いから
Cを置き換えられる言語があるなら見てみたいしぜひ置き換えてほしい
2019/05/28(火) 17:30:53.21ID:vL2LyOeQ0
>>726
ttps://www.spriters-resource.com/resources/sheets/34/36939.png
ちょっと検索してみたらもうドット絵まで準備されてるらしい
さすがに西洋人は仕事が早いな
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が無限に生成されるのか、教えて欲しい

環境は学校の端末演習室でやったから詳しいことはわからんです
2019/05/28(火) 19:04:37.65ID:F6815kaN0
>>730
それじゃあ検証のしようがない
ネットカフェで書いてここに晒せ
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");

}
733デフォルトの名無しさん (アウアウウー Saab-EYzY)
垢版 |
2019/05/28(火) 21:09:24.77ID:Rd7hCJnFa
>>725
Pascalの方が先にできたんだっけ?

まあでも用途が大幅に違うよね。Pascalはコンピュータの学習用の高級言語でCはOS記述用でアセンブラ代わりに使う言語。
2019/05/28(火) 21:27:52.19ID:jSvCRMUQ0
Pascalが嫌いな人が作った言語だ
2019/05/28(火) 22:21:26.92ID:/lAZ9dU10
>>733
だからそんなことを言い出したら>>722の言うポインタが安全な言語って用途が違う言語だよね
って話にしかならないんだが…
736デフォルトの名無しさん (アウアウウー Saab-EYzY)
垢版 |
2019/05/28(火) 22:24:51.47ID:Rd7hCJnFa
>>735
まあそうだな。
Cは用途が違う上に古くて安全性が低い感じか。
2019/05/28(火) 23:20:22.65ID:jSvCRMUQ0
安全性って何だよ
インテルのerrataみたいなことか?
2019/05/28(火) 23:34:40.02ID:IamnQRk90
子供にはナイフを使わせるなというのと同じ類いか
2019/05/29(水) 04:57:03.97ID:mWed49vm0
>>736
いやOSを書くにはその安全性が邪魔になるから両立は難しいよ
740デフォルトの名無しさん (ワッチョイ dfb9-9b2Z)
垢版 |
2019/05/29(水) 06:20:35.18ID:D5Uzvk1s0
OSのコードはどんな感じなの?
ポインタを使ったトリッキーな事をやってるの?

未だにLinuxでバッファオーバーフローの脆弱性出てるよね
2019/05/29(水) 06:48:57.50ID:Bfh00rIBM
>>740
OSのソースなんてちょっとググればいくらでも出てくるから自分で見なよ
2019/05/29(水) 07:45:37.52ID:6C23lth10
見たこともないやつが議論してたのかよ
2019/05/29(水) 08:03:59.01ID:aFUCBt4U0
詳細linuxとかいう1000ページの宗教書だろ
持ってるだけで御利益がある
2019/05/29(水) 08:13:08.04ID:akQz27P/d
オープンソースなのだから1分もあればソースコードくらい見られるだろうに
2019/05/29(水) 18:31:01.76ID:8RGCI4670
>>740
>未だにLinuxでバッファオーバーフローの脆弱性出てるよね
最近は聞かないね…
2019/05/29(水) 19:51:04.91ID:D+pGsdPRa
今普通に静的・動的解析使うとバッファオーバーフローなんてあり得ない感じするわ。
2019/05/29(水) 20:40:15.44ID:rT4tqcG+0
strcpyとかsprintfとか使ってるコードはまだたくさんあるでしょ
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++混在で作ります。
わりと自由に混在できるので
とても助かってます。
こうゆの俺だけですかね?
2019/05/31(金) 08:28:11.59ID:7PD5X056a
C††
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十十つ
―ー
2019/05/31(金) 18:46:16.16ID:4felF8bG0
C田田
2019/05/31(金) 19:11:42.88ID:Ki0lpFF5M
C云々
756デフォルトの名無しさん (アウアウウー Sa1f-Y/KN)
垢版 |
2019/05/31(金) 19:45:27.77ID:/GnAMAD/a
⊂┼┼
2019/05/31(金) 21:44:53.32ID:r0b/3vSWd
C言語認定一級を取得したら転職でどれぐらい評価されますか?
758デフォルトの名無しさん (アウアウウー Sa1f-Y/KN)
垢版 |
2019/05/31(金) 21:48:01.31ID:I0+j7s4/a
さあ?
その会社がどの程度その知識を必要としているかで変わるのでは?
2019/05/31(金) 21:48:52.32ID:r0b/3vSWd
>>758
そういうときは一般化して正確じゃなくても妥当な範囲で思考して回答する癖をつけましょうね〜
2019/05/31(金) 21:56:26.15ID:OHagz7+U0
うちの周囲じゃ全く参考にもしていないし資格給が出るわけでもないって所が多いな
2019/05/31(金) 22:06:46.05ID:4X6MeSMk0
英検1級の方が重要そう。
762デフォルトの名無しさん (スフッ Sd8a-92O4)
垢版 |
2019/06/01(土) 11:44:52.57ID:2YdNSpFdd
http://codepad.org/NUCaFYyE
雨が降る様子を自分の今持ってる知識だけで作ろうとしたんですが、表現が上手くできてない気がします

だれか改善案があれば助言お願いします
2019/06/01(土) 18:13:48.99ID:w9UetZ9K0
>>762
それはC言語の問題ではなかろう
764デフォルトの名無しさん (スフッ Sd8a-92O4)
垢版 |
2019/06/01(土) 18:56:55.84ID:2YdNSpFdd
>>763
抜けてました
プログラムの問題として、実行すると縦に雨粒が重なってしまうのが目立っていて、この原因がわからず質問しようと思いました。
2019/06/01(土) 19:26:44.16ID:w9UetZ9K0
>>764
それは使用する言語とは無関係に、雨らしく見せるアルゴリズムの問題ではないか?
ある処理をC言語で実現したいがどう書いていいか分からないとか、書いたものが想定通りにならないのはなぜかとかなら答えようがあるが。
766デフォルトの名無しさん (スフッ Sd8a-92O4)
垢版 |
2019/06/01(土) 21:18:58.51ID:2YdNSpFdd
>>765
1番上の行で雨を発生させるとき何列目で発生させるかは乱数できめているはずなのに、何行か連続で同じ列に発生しているのがよく見られていて、それが何故なのかがわかりません。

このプログラムは改良中のもので、その前のプログラムは雨粒が全部同じ速さのやつを作っていてそれは問題なく(上の現象も起きず)動いていたので、乱数でなくプログラムの問題かなと思って質問しました
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)
768デフォルトの名無しさん (スフッ Sd8a-92O4)
垢版 |
2019/06/01(土) 22:01:32.09ID:2YdNSpFdd
>>767
すごい!!!
一気に雨っぽく見えるようになりましたw

乱数の件大変勉強になりました
もっと改良するとしたら、そのツイートのように不自然に見えるランダムさをなくすため振るいにかけるような工夫もしてみようと思います。

あと、もしよければGIFのやつのソースコードを貼ってもらえないでしょうか。よろしくお願いします
2019/06/01(土) 22:03:49.20ID:gZsm+Fjra
一様分布でなくても乱数とは言えるだろう
2019/06/01(土) 22:10:20.53ID:njUSTe0T0
>>768
一応貼るけど自分はC言語あまり得意でない上に適当にササっと作ったのだからあんまり参考にはしないでほしい
https://ideone.com/FG3nNS

system("cls")で画面更新してるけどチカチカさせずに滑らかに動かしたいならpdcursesとか使ったほうが良いと思う
あとLinuxだったらclsでは動かない
771デフォルトの名無しさん (スププ Sd8a-92O4)
垢版 |
2019/06/02(日) 08:12:25.21ID:Df5btDJSd
>>770
ありがとうございます!
初心者なので関数の使い方とか、あと自分がいかに無駄なコードを書いてたかとかがわかってとても参考になります

調べてみようと思います。ありがとうございました
2019/06/02(日) 13:28:56.70ID:gM/IYiKd0
constが外れるのにキャストせずに
char *p = "abc";
とできることを定めている条文どこだっけ?
2019/06/02(日) 14:35:27.10ID:hvNC8EHQa
初期化はちょっと違うんじゃねえかな
2019/06/03(月) 19:44:47.54ID:JpBlPJqE0
https://i.imgur.com/bxgSD4n.jpg
ちんぷんかんぷんなので教えて下さい
2019/06/03(月) 19:47:13.69ID:aVpNGdHY0
火の玉ストレートでワロタw
2019/06/03(月) 19:51:23.16ID:NMMhu3n80
>>774
糞みたいな問題だな
家木臭すぎ
2019/06/03(月) 19:56:34.99ID:JpBlPJqE0
解決しました
2019/06/03(月) 19:56:39.36ID:vGrK+0JX0
もうちょっときれいに写せないのか
779デフォルトの名無しさん (アウアウウー Sa1f-Y/KN)
垢版 |
2019/06/03(月) 21:20:26.29ID:CuEu7mica
影があって見えない。

ていうか、試験中に撮影して書き込みか?
思い切ったカンニングだな。
2019/06/03(月) 22:17:42.98ID:V6PZ+bAi0
(3)のとこ、この試験問題を作った教官がどういう教え方をしているのか聞かせてくれ
2019/06/03(月) 22:19:26.68ID:V6PZ+bAi0
正解は *(const char **)&s なんだが解答群にねえだろ
2019/06/04(火) 01:35:34.87ID:TgdlAqGq0
>>781 C++11以降でもなさそうだし、回答群にあるsでいいでしょ。
2019/06/04(火) 07:58:43.31ID:e9k+jtYr0
タイミングがよすぎるし>>772>>774は同一人物なのかな
784デフォルトの名無しさん (アウアウウー Sa1f-Y/KN)
垢版 |
2019/06/04(火) 10:12:17.26ID:prB+PlYza
ワッチョイからすると別のようだが
2019/06/04(火) 10:47:57.52ID:PKXus+yhx
簡単なテストがちんぷんかんぷんな人が規約を気にするとは思えない。
2019/06/04(火) 11:04:10.57ID:eBRK1s1cH
【速報】金券五百円分とすかいらーく優侍券をすぐもらえる   
https://pbs.twimg.com/media/D8I_kMUUYAEOmcl.jpg 
     
@ スマホでたいむばんくを入手  
A 会員登録を済ませる     
B マイページへ移動する   
C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)     
   
今なら更に4日18時までの登録で2倍の600円の紹介金を入手    
クオカードとすかいらーく優待券を両方ゲットできます。  
    
数分で終えられるのでぜひお試し下さい。 
2019/06/04(火) 13:24:20.51ID:VVsdR08YH
>>786
QUOカード良いな
2019/06/04(火) 15:35:37.38ID:ZIqEmt8SM
>>786
複数スレに書き込みまくってID変えてレスも書き込みまくってる。
2019/06/04(火) 17:39:59.80ID:dFy1Csfg0
迷惑メール来るようになるっていう報告もあるからこれはスルーしたほうが良いと思う
2019/06/04(火) 17:46:57.34ID:VrCvogjT0
ありとあらゆるスレに貼られてるbotだから気にしなくていいぞw
2019/06/04(火) 17:48:42.06ID:rpsLXROr0
内容を変えてNG対策すり抜けをやろうとしているから、悪質だと考えた
2019/06/04(火) 18:10:41.59ID:QEritYjya
サービスの提供もとに不正行為として通報して、そいつの招待コードとやらを無効にさせられないかな。
2019/06/04(火) 18:49:11.42ID:rpsLXROr0
提供元も共犯だろう
2019/06/04(火) 20:15:40.66ID:dFy1Csfg0
これってどこの企業がやってるんだろう
普通に5chでは荒らしに近い迷惑行為だしなんとかできないかな
795デフォルトの名無しさん (アウアウウー Sa1f-Y/KN)
垢版 |
2019/06/04(火) 20:19:32.69ID:RBIldFVda
しかし500円だの600円だのしょぼいな。
PayPayみたいにずっと二割引でたまに全額当たるぐらいやらなきゃ宣伝にならんだろう。
2019/06/04(火) 20:43:44.67ID:rpsLXROr0
宣伝じゃなく、個人情報の収集だから
2019/06/05(水) 00:33:04.12ID:ZHHYr8Rz0
とてもいいアプリだからダウンロードして星つけてあげたらいいと思うよ
798デフォルトの名無しさん (アウアウウー Sa1f-Y/KN)
垢版 |
2019/06/05(水) 10:04:09.95ID:Fd++qFdya
激しいステマ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況