[過去ログ]
C言語なら俺に聞け 151 (1002レス)
C言語なら俺に聞け 151 http://mevius.5ch.net/test/read.cgi/tech/1554171817/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: デフォルトの名無しさん (ワッチョイ cf8f-fy95) [] 2019/04/02(火) 11:23:37 ID: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 http://mevius.5ch.net/test/read.cgi/tech/1554171817/1
2: デフォルトの名無しさん (ワッチョイ 0f8f-068C) [sage] 2019/04/02(火) 11:27:10 ID:SQXqRaAc0 前スレ C言語なら俺に聞け 150 https://mevius.5ch.net/test/read.cgi/tech/1549427943/ !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ↑ 次スレを作る時は上記1行を「1行目に」コピーして2行に増やして必ず1行目に入るようにしてください。 …あってる…? http://mevius.5ch.net/test/read.cgi/tech/1554171817/2
3: デフォルトの名無しさん (ワッチョイ 0f8f-068C) [sage] 2019/04/02(火) 11:28:04 ID:SQXqRaAc0 これで良い…のかな !extend:checked:vvvvv:1000:512 ↑ 次スレを作る時は >>1 の上記1行を「1行目に」コピーして2行に増やして必ず1行目に入るようにしてください。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/3
4: デフォルトの名無しさん (ワッチョイ 1f19-9gjM) [sage] 2019/04/02(火) 16:37:14 ID:VBVVrqHU0 前スレ977のリンクが404ぽいので 魚拓から復元してみた https://ideone.com/IhBGrr 977 名前:デフォルトの名無しさん (アウアウエー Sa3f-XwTE)[] 投稿日:2019/04/01(月) 21:33:02.04 ID:v6mAk26Pa [1/3] 「要素型がint型で要素数がnの配列を受け取って、 全要素に添字と同じ値を代入する関数set_idx」を作成しました。 http://codepad.org/krsZoljq 配列aの要素数はマクロ定義で#define NUMBER 10とし、 問題なく動作しました。 ところが、この要素数10を60に書き換えてみたところ、 コンパイルされたexeファイルを実行しても動作しません。 コンパイラはMinGW(gcc)です。 思い当たる原因を教えていただけないでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/4
5: 前スレ977 (アウアウエー Sa3f-XwTE) [sage] 2019/04/02(火) 20:52:18 ID:JwQjLW9ya >>4 codepadが消えてしまっていたのですね、 復元ありがとうございます。 当初は16行目を int a[] = {0}; と書いていたため上手く動作せず質問した次第です。 前スレで色々とレス頂きありがとうございました。 プログラムを書く際にバッファオーバーランの危険性を考慮する必要があることすら知らないレベルなので、 メモリの使い方を念頭において学習していきます。 C言語は諦めた方がよいというレスもありましたが、 センスがないのは重々承知の上で、腹を括って勉強していくつもりです。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/5
6: デフォルトの名無しさん (ワッチョイ 0f8f-068C) [sage] 2019/04/03(水) 00:01:40 ID:qKRJca2S0 >>5 いえ すみません 「呼び出し元で配列長を管理出来ている。問題はない」と言いうるようです /* むしろ free し忘れる方が問題か */ 誤解・不適切な部分があったこと、申し訳なく存じます 色々大変かも知れませんが、頑張ってください http://mevius.5ch.net/test/read.cgi/tech/1554171817/6
7: デフォルトの名無しさん (ワッチョイ 9fc5-1m/C) [sage] 2019/04/03(水) 00:29:12 ID:kMUljaKF0 >>5 cは非生産的で大したアプリは最初のうちは作れない しかし覚えれば言語やOSや組み込みなどに手が出せるようになる 独学はイバラの道だが頑張ってね http://mevius.5ch.net/test/read.cgi/tech/1554171817/7
8: デフォルトの名無しさん (ワッチョイ 9fa5-mpQp) [sage] 2019/04/03(水) 14:57:25 ID:PdcOYuo+0 >「c言語 おすすめしない理由」でググると >https://www.sejuku.net/blog/3619 sejukuはねーよ C言語のウソ記事まき散らしたとこじゃねえか http://mevius.5ch.net/test/read.cgi/tech/1554171817/8
9: デフォルトの名無しさん (ワッチョイ 1f19-9gjM) [sage] 2019/04/03(水) 17:06:47 ID:jUO0vRXi0 全く以てくだらんな 何言語だろうが関係ねえ話で 習得できなかったやつの言い訳を集めただけの駄文だ もし「初心者」がここを見ているなら一言いいたい 【 あ ん な の 忘 れ ろ 】 プログラム言語に限らず人生すべてに影響する有害な集団催眠だ http://mevius.5ch.net/test/read.cgi/tech/1554171817/9
10: デフォルトの名無しさん (ワンミングク MMbf-QHAD) [sage] 2019/04/03(水) 19:21:17 ID:6tuZKWrYM 既存のソフト(dll)を引き継いだのですが、そのdll内でバイナリファイルをリードしています。 _open(xxx, _O_BINARY, _S_IREAD) しているのですが、複数のプロセスが同じタイミングでアクセスしても排他処理されないですよね? どうもうまく読めてないのが原因かもしれない障害が発生して困っています。 どうすれば排他処理できるでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/10
11: デフォルトの名無しさん (アウアウエー Sa3f-RDgh) [sage] 2019/04/03(水) 19:55:12 ID:ZPobjXHOa 読むだけなら排他は要らないんじゃない http://mevius.5ch.net/test/read.cgi/tech/1554171817/11
12: デフォルトの名無しさん (ワッチョイ 0f63-r4m/) [sage] 2019/04/03(水) 20:00:41 ID:ZmtTnpp/0 書き込みされたとき、どうなるかな http://mevius.5ch.net/test/read.cgi/tech/1554171817/12
13: デフォルトの名無しさん (ワッチョイ 6b8f-cGEb) [sage] 2019/04/03(水) 20:13:27 ID:OJDzRIb+0 排他処理の方法を考えようにも情報が少なすぎるよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/13
14: デフォルトの名無しさん (ワンミングク MMbf-QHAD) [sage] 2019/04/03(水) 20:30:58 ID:6tuZKWrYM レスありがとございます。 後だしですが、書き込みはされないです。そこまでかんがえてなかったですが。 リードだけなら大丈夫そうですね。だったら他のとこに問題があるのかな・・・ http://mevius.5ch.net/test/read.cgi/tech/1554171817/14
15: デフォルトの名無しさん (アウアウウー Sa0f-dxKi) [] 2019/04/03(水) 20:57:30 ID:GUjlsyjta ファイル書いてる最中に読まないようにそのライブラリを使う側と書き込みする側のプログラムでロック掛けるようにするぐらいしか方法ないのでは? ライブラリのソースもあって自分でも直せるというのなら自分でその辺改造しちゃえば良いんだろうけど。それだったらわざわざここに質問書かんよな? http://mevius.5ch.net/test/read.cgi/tech/1554171817/15
16: デフォルトの名無しさん (ワッチョイ 6b8f-cGEb) [sage] 2019/04/03(水) 21:24:51 ID:OJDzRIb+0 そもそも1プロセスでもそのファイルをオープンできているのだろうか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/16
17: デフォルトの名無しさん (ワッチョイ 3b7c-RDgh) [sage] 2019/04/03(水) 21:44:31 ID:NesRjmW10 その障害の内容教えてくれんとな http://mevius.5ch.net/test/read.cgi/tech/1554171817/17
18: デフォルトの名無しさん (ワッチョイ 6b8f-cGEb) [sage] 2019/04/03(水) 21:51:55 ID:OJDzRIb+0 どこまで説明したら適切なアドバイスもらえるかって実務にも重要な要素だよな。これも練習ですな。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/18
19: デフォルトの名無しさん (ワッチョイ 99da-iE/E) [sage] 2019/04/06(土) 14:35:16 ID:sYe67fpI0 https://wandbox.org/ codepad死んだっぽいので次スレから代わりに↑をテンプレに入れよう http://mevius.5ch.net/test/read.cgi/tech/1554171817/19
20: デフォルトの名無しさん (アウアウウー Sac5-T5wd) [] 2019/04/08(月) 10:46:04 ID:slzfC4/wa ここどう? https://www.jdoodle.com/ 色んな言語使えるようだ。もちろんCもある。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/20
21: デフォルトの名無しさん (アウアウウー Sac5-L3CR) [sage] 2019/04/08(月) 10:58:04 ID:czvLDSaVa はい http://mevius.5ch.net/test/read.cgi/tech/1554171817/21
22: デフォルトの名無しさん (ワッチョイ ee8f-hWz0) [sage] 2019/04/08(月) 20:38:05 ID:j+rCFaIP0 fprintf_s みたいな foo_s 系の関数実装って増えてるん? 「Visual C++ でガッコウのコードがコンパイルできない」みたいな話をたまに見かけるけど… http://mevius.5ch.net/test/read.cgi/tech/1554171817/22
23: デフォルトの名無しさん (ワッチョイ 7d02-w1lf) [] 2019/04/08(月) 20:55:25 ID:26lZNeBT0 セキュリティの為にfoo_sが推奨されてるんだから、ガッコウのコードの方を変えるべきでは? 何年経ったと思ってるんだ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/23
24: ◆mxojKcXMM. (ワッチョイ 6247-BZhk) [sage] 2019/04/08(月) 21:02:21 ID:PMJ1/1Ak0 >>22 その s 系とかいうやつは、いまいち気に要らない仕様でいちいち頭に来るので私は使わないです http://mevius.5ch.net/test/read.cgi/tech/1554171817/24
25: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c63e-k8NZ) [sage] 2019/04/08(月) 21:17:15 ID:TICLg0mt0 >>23 _s 系の関数って言語仕様上はオプショナルでしょ。 安全でない関数の中で明確に仕様から削除されたのは gets だけのはずだし、もちろん、安全性を意識させるのは 望ましいけど、どこでも _s 系の関数を使えるわけじゃない。 あくまでもオプショナルだから >>22 は「実装って」という聞き方をしているのだと思うぞ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/25
26: ◆mxojKcXMM. (ワッチョイ 6247-BZhk) [sage] 2019/04/08(月) 22:00:58 ID:PMJ1/1Ak0 >>25 Microsoft のコンパイラ以外では使えない、と聞いているのも納得がいかないのです、本当によいものなら、なぜ _s 系が移植されないのでしょうか… http://mevius.5ch.net/test/read.cgi/tech/1554171817/26
27: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c63e-k8NZ) [sage] 2019/04/08(月) 22:21:13 ID:TICLg0mt0 >>26 そんなことを >>22 は聞いていない。 誤読。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/27
28: ◆QZaw55cn4c (ワッチョイ 6247-BZhk) [sage] 2019/04/08(月) 22:27:24 ID:PMJ1/1Ak0 >>27 失礼。>>26 は >>22 への直接または間接の回答を意図しておりません とある「有用な」実装が広く使われるべき、という意見に対して、microsoft のコンパイラ環境でしか使えない実装を教育目的で強要してもいいのか、というか、そもそもそんなに「有用」な実装なのですか?本当ですか? という視点で >>22 を強く批判する内容です http://mevius.5ch.net/test/read.cgi/tech/1554171817/28
29: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c63e-k8NZ) [sage] 2019/04/08(月) 22:35:39 ID:TICLg0mt0 >>28 _s 系の関数はオプショナルとは言えども規格にある存在なので、 Visual C++ は例のひとつとして挙がっているにすぎません。 間違いなくありがちな問題を軽減しますので、 使える処理系ならば使うように誘導するのは合理的です。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/29
30: ◆QZaw55cn4c (ワッチョイ 6247-BZhk) [sage] 2019/04/08(月) 23:24:16 ID:PMJ1/1Ak0 >>29 お手数をおかけし恐縮ですが 「規格にある存在」というその規格をご教示願えますか? 手元にある ISO/IEC 9899:1999 には見えないようですが… http://mevius.5ch.net/test/read.cgi/tech/1554171817/30
31: デフォルトの名無しさん (ワッチョイ 698f-JThg) [sage] 2019/04/08(月) 23:30:36 ID:dk5yj0CN0 visual studioで新しいプロジェクトを作成して始めてビルドする度に /D _CRT_SECURE_NO_WARNINGS に誘導されてます…… http://mevius.5ch.net/test/read.cgi/tech/1554171817/31
32: デフォルトの名無しさん (アウアウカー Sa09-f9KT) [sage] 2019/04/08(月) 23:46:29 ID:Z7UT2eMea localtime_s 使ったら内部でmutex使ってて無茶苦茶遅いのはむかついた http://mevius.5ch.net/test/read.cgi/tech/1554171817/32
33: デフォルトの名無しさん (アウアウカー Sa09-f9KT) [sage] 2019/04/08(月) 23:48:18 ID:Z7UT2eMea >>30 なぜそんな古いものを… 引数にvoid入れるとびっくりするタイプ? http://mevius.5ch.net/test/read.cgi/tech/1554171817/33
34: デフォルトの名無しさん (ワッチョイ 698f-JThg) [sage] 2019/04/08(月) 23:50:57 ID:dk5yj0CN0 localtimeについては批判できねぇ。 マルチスレッドでlocaltime呼び出してたせいで正体不明のバグに数日間悩まされたからな。。。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/34
35: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c63e-k8NZ) [sage] 2019/04/09(火) 03:49:52 ID:jYkGM3GN0 >>30 C99 には無い。 C11 に入った。 Annex K (normative) Bounds-checking interfaces って項目ね。 Wipkipedia でも言及がある。 https://ja.wikipedia.org/wiki/C11_(C%E8%A8%80%E8%AA%9E)#.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3.E6.A9.9F.E8.83.BD http://mevius.5ch.net/test/read.cgi/tech/1554171817/35
36: デフォルトの名無しさん (ワッチョイ ee8f-hWz0) [sage] 2019/04/09(火) 07:47:37 ID:lax+sHP30 >>22 > fprintf_s みたいな > foo_s 系の関数実装って増えてるん? 「いや増えてない」←わかる 「俺は foo_s みたいな関数が嫌い」←わかる 「俺は foo_s みたいな関数が嫌いだから >>22 を強く批判する」←全く分からない 誰か解説してくれるのだろうか 私は「ガッコウのセンセイ」でもないし「ガッコウの教材」の著者でもないから何とも 新学期だから知恵袋とかに質問増えそうじゃん? http://mevius.5ch.net/test/read.cgi/tech/1554171817/36
37: デフォルトの名無しさん (ワッチョイ 698f-JThg) [sage] 2019/04/09(火) 07:52:30 ID:vvoqC9qD0 >>22 を批判してるんじゃなくて>>22 にかかれてるような状況を批判してるんじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/37
38: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/09(火) 09:52:53 ID:EB2iO7oh0 >>24 同感 いけ好かねえの多いよな http://mevius.5ch.net/test/read.cgi/tech/1554171817/38
39: デフォルトの名無しさん (ワッチョイ ee63-k8NZ) [sage] 2019/04/09(火) 09:56:13 ID:A5vZx8Gh0 >という視点で >>22 を強く批判する内容です そう解釈してやっても良いが、この日本語はおかしい http://mevius.5ch.net/test/read.cgi/tech/1554171817/39
40: デフォルトの名無しさん (スッップ Sda2-JThg) [sage] 2019/04/09(火) 10:28:57 ID:AXiDgdzZd 話それちゃうよ? http://mevius.5ch.net/test/read.cgi/tech/1554171817/40
41: デフォルトの名無しさん (アウアウウー Sac5-T5wd) [] 2019/04/09(火) 13:13:25 ID:xq+Mg1lAa 漢なら localtime_r() http://mevius.5ch.net/test/read.cgi/tech/1554171817/41
42: デフォルトの名無しさん (スッップ Sda2-JThg) [sage] 2019/04/09(火) 13:25:42 ID:AXiDgdzZd 真の漢なら #ifdef _win32 localtime_s() #else localtime_r() #endif http://mevius.5ch.net/test/read.cgi/tech/1554171817/42
43: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c63e-k8NZ) [sage] 2019/04/09(火) 13:27:54 ID:jYkGM3GN0 >>42 __STDC_LIB_EXT1__ を使った方がポータブルじゃない? http://mevius.5ch.net/test/read.cgi/tech/1554171817/43
44: デフォルトの名無しさん (スッップ Sda2-JThg) [sage] 2019/04/09(火) 13:29:27 ID:AXiDgdzZd >>43 先生、それはなんですか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/44
45: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c63e-k8NZ) [sage] 2019/04/09(火) 16:24:32 ID:jYkGM3GN0 >>44 ググって。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/45
46: デフォルトの名無しさん (ワッチョイ 6969-p3R9) [sage] 2019/04/09(火) 16:29:41 ID:obpichI70 C11 以降か… http://mevius.5ch.net/test/read.cgi/tech/1554171817/46
47: デフォルトの名無しさん (スッップ Sda2-JThg) [sage] 2019/04/09(火) 18:39:32 ID:AXiDgdzZd >>43 ググってヒットした件数的にこんなん使えませんわ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/47
48: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c63e-k8NZ) [sage] 2019/04/09(火) 19:07:14 ID:jYkGM3GN0 >>47 件数じゃなくて、用途に対する妥当性で考えてよ http://mevius.5ch.net/test/read.cgi/tech/1554171817/48
49: デフォルトの名無しさん (スッップ Sda2-JThg) [sage] 2019/04/09(火) 21:04:38 ID:AXiDgdzZd 質問スレっぽいスレタイなのにそこまで考えさせられるのかよw あんまり使われてないっぽいものは使わないってスタンスは崩さないよ、俺は。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/49
50: デフォルトの名無しさん (ワッチョイ 5152-iMOx) [sage] 2019/04/09(火) 21:11:11 ID:e3amBytd0 使われてないものは使わない つまりC言語自体・・・(ボソッ http://mevius.5ch.net/test/read.cgi/tech/1554171817/50
51: デフォルトの名無しさん (スッップ Sda2-JThg) [sage] 2019/04/09(火) 21:27:21 ID:AXiDgdzZd 言語を自分で選べるほど偉くないんですよ http://mevius.5ch.net/test/read.cgi/tech/1554171817/51
52: ◆QZaw55cn4c (ワッチョイ 6247-BZhk) [sage] 2019/04/09(火) 21:47:18 ID:ssMdw0XF0 >>35 ほえ〜 Annex K は確かにみじんも記憶に残っていません…でした ご教示いただき感謝いたします http://mevius.5ch.net/test/read.cgi/tech/1554171817/52
53: ◆QZaw55cn4c (ワッチョイ 6247-BZhk) [sage] 2019/04/09(火) 21:52:14 ID:ssMdw0XF0 >>33 実は K&R2 のみが正義、K&R2 こそ必要にしてかつ十分、という立場なので、そんな私が C99 を推挙した時点で、すでにして大幅に compromise しているつもりなのでした… http://mevius.5ch.net/test/read.cgi/tech/1554171817/53
54: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/09(火) 21:55:42 ID:EB2iO7oh0 K&R2って妥協の産物だろ K&R1こそ原理主義者の拠り所だ http://mevius.5ch.net/test/read.cgi/tech/1554171817/54
55: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c63e-k8NZ) [sage] 2019/04/09(火) 22:05:25 ID:jYkGM3GN0 でもまあ JIS の最新は C99 相当だしな。 英語を読むのはしんどいし、 日本語の資料があるなら日本語の方がいいわ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/55
56: ◆QZaw55cn4c (ワッチョイ 6247-BZhk) [sage] 2019/04/09(火) 22:25:14 ID:ssMdw0XF0 >>54 >K&R2って妥協の産物 それも理解できます K&R2 の最大の改悪部分は「構造体の実体渡しができること」 配列の実体を丸まま関数に渡せないくせに、構造体では出来るって意味わかんない もしかして struct S { int a[65536]; }; とかいう構造体があったら、それを全部スタックに載せるつもりなのか?そういうことをする奴が現れる可能性を考えたのか?と小一時間問い詰めたい気分になりました… http://mevius.5ch.net/test/read.cgi/tech/1554171817/56
57: デフォルトの名無しさん (ワッチョイ ee8f-hWz0) [sage] 2019/04/09(火) 22:31:23 ID:lax+sHP30 struct S { long long ago0[1048576*1048576]; long long ago1[1048576*1048576]; long long ago2[1048576*1048576]; long long ago3[1048576*1048576]; }; http://mevius.5ch.net/test/read.cgi/tech/1554171817/57
58: デフォルトの名無しさん (アウアウエー Sa8a-f9KT) [sage] 2019/04/09(火) 22:32:15 ID:KCu43/3wa >>56 それは、配列の方が悪いんでしょうに 構造体はコピーを渡すのが全然正しいじゃないの http://mevius.5ch.net/test/read.cgi/tech/1554171817/58
59: デフォルトの名無しさん (ワッチョイ ee63-k8NZ) [sage] 2019/04/09(火) 22:45:54 ID:A5vZx8Gh0 >>54 K&R1原理主義って、素敵? http://mevius.5ch.net/test/read.cgi/tech/1554171817/59
60: デフォルトの名無しさん (ワッチョイ 2e12-bgjH) [sage] 2019/04/09(火) 22:48:12 ID:PvJWb3nJ0 in a galaxy far, far away... http://mevius.5ch.net/test/read.cgi/tech/1554171817/60
61: デフォルトの名無しさん (ワッチョイ ee63-k8NZ) [sage] 2019/04/09(火) 23:05:49 ID:A5vZx8Gh0 /* not reach here outside the universe */ http://mevius.5ch.net/test/read.cgi/tech/1554171817/61
62: デフォルトの名無しさん (ワッチョイ 5152-iMOx) [sage] 2019/04/10(水) 01:12:36 ID:sw3hAH5+0 jedi = get_force(); http://mevius.5ch.net/test/read.cgi/tech/1554171817/62
63: ◆QZaw55cn4c (ワッチョイ 6247-BZhk) [sage] 2019/04/10(水) 01:49:22 ID:57hoitEO0 >>58 構造体といえどもアドレスを渡すのが真に正しく、配列なら言語仕様でそれを強要される、なぜ構造体には甘い顔を見せる必要があるのか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/63
64: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c63e-k8NZ) [sage] 2019/04/10(水) 04:59:47 ID:mOo8C1VR0 >>56 極端なことが「できてしまう」のが問題ということですか? そもそも C なんてそんなものでしょう。 状況を見て適当に使い分けるべきで、駄目な使い方をしたら何だって駄目ですよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/64
65: デフォルトの名無しさん (ワッチョイ ee8f-hWz0) [sage] 2019/04/10(水) 06:18:28 ID:qyNiIlQC0 >>63 ド素人の勝手な推測だけれども 「配列だとマジでサイズどんだけか分かったもんじゃないじゃん」 「構造体のメンバ」に配列が来る場合はあるけど、そのサイズは多寡が知れてるじゃん」 という考えかもアリかもしんない http://mevius.5ch.net/test/read.cgi/tech/1554171817/65
66: デフォルトの名無しさん (ドコグロ MM4a-xk87) [sage] 2019/04/10(水) 06:47:52 ID:bjp/36w+M むしろ勝手にアドレス渡しになる配列が甘やかされすぎ 文字列がcharの配列だからしょうがないけど http://mevius.5ch.net/test/read.cgi/tech/1554171817/66
67: デフォルトの名無しさん (アークセー Sx91-L3CR) [sage] 2019/04/10(水) 07:49:55 ID:PtgOSD4Jx 配列の実引数をポインタ仮引数で受けれるという仕様上、配列のサイズ情報が失われコンパイラは何バイトコピーすれば良いか分からないから致し方ない。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/67
68: デフォルトの名無しさん (アウアウウー Sac5-T5wd) [] 2019/04/10(水) 09:42:54 ID:G/tPYfHxa >>56 昔々初心者の頃にやっちゃって物凄く遅くなって気づいた事があったw http://mevius.5ch.net/test/read.cgi/tech/1554171817/68
69: デフォルトの名無しさん (アウアウウー Sac5-T5wd) [] 2019/04/10(水) 09:49:26 ID:G/tPYfHxa 構造体も const で渡されたらこっそりポインタ使って読むだけのアクセスするコード作っちゃっても良いのにな。 マルチスレッドで動くプログラムの時に死ぬかも知れんが。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/69
70: デフォルトの名無しさん (アウアウカー Sa09-f9KT) [sage] 2019/04/10(水) 10:06:17 ID:QqefTxrga そもそも[]が無ければ誤解も減ったと思うよ いい年した大人が、引数で渡ってきた配列の sizeof 取ろうとするの良く見るぜ http://mevius.5ch.net/test/read.cgi/tech/1554171817/70
71: デフォルトの名無しさん (ワッチョイ 02a5-lO4n) [sage] 2019/04/10(水) 10:42:39 ID:ryP68qDF0 現代教えられてる言語で60年代中期の古さを引きずってる言語だからだ 配列に対してsize適用すれば長さを取れるのは現代じゃあ普通で、 取れないC言語のほうがおかしい、 これ、誤解でも何でもないからな http://mevius.5ch.net/test/read.cgi/tech/1554171817/71
72: デフォルトの名無しさん (ワッチョイ a278-l+U4) [sage] 2019/04/10(水) 10:46:50 ID:Y6MOlOQR0 sizeofで取れるのは要素数じゃないけどな http://mevius.5ch.net/test/read.cgi/tech/1554171817/72
73: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 11:14:25 ID:9YALwuYf0 >>58 事実上、構造体はほとんどの場合ポインタで渡すよな 実体で渡すという特殊なケースがデフォになってて ポインタで渡すという主要な使い方でアドレス演算子が必須って おかしくね? http://mevius.5ch.net/test/read.cgi/tech/1554171817/73
74: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 11:16:06 ID:9YALwuYf0 >>70 だよな []こそ諸悪の根元 自動変数と仮引数と外部宣言でみんな意味違うとか 気が狂ってるとしか思えない http://mevius.5ch.net/test/read.cgi/tech/1554171817/74
75: デフォルトの名無しさん (アウアウウー Sac5-T5wd) [] 2019/04/10(水) 11:23:36 ID:7gi5m8N9a そして「C言語はおかしい」と満場一致で結論が出て、また新たな言語が作られるのであった。 完 http://mevius.5ch.net/test/read.cgi/tech/1554171817/75
76: デフォルトの名無しさん (ワッチョイ 7d02-w1lf) [] 2019/04/10(水) 11:25:19 ID:lv7m7vwC0 ここが変だよC言語って本が昔売られてたな。。。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/76
77: デフォルトの名無しさん (アウアウエー Sa8a-f9KT) [sage] 2019/04/10(水) 12:05:09 ID:JKE/90g3a >>73 俺は安全のために実体渡すし返すよ、割と http://mevius.5ch.net/test/read.cgi/tech/1554171817/77
78: デフォルトの名無しさん (ドコグロ MM4a-xk87) [sage] 2019/04/10(水) 12:29:04 ID:bjp/36w+M >>73 たまから、構造体はint, doubleとかの変数と同じく値渡しで一貫してる 配列がおかしいだけ http://mevius.5ch.net/test/read.cgi/tech/1554171817/78
79: デフォルトの名無しさん (ワッチョイ 7e7c-k8NZ) [sage] 2019/04/10(水) 14:02:32 ID:pgm3XBSH0 不定と未定義がある限り、C言語はおかしくあり続けるのだ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/79
80: デフォルトの名無しさん (ワッチョイ ee8f-hWz0) [sage] 2019/04/10(水) 14:28:30 ID:qyNiIlQC0 >>77 仮引数にconstはダメ? http://mevius.5ch.net/test/read.cgi/tech/1554171817/80
81: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 14:46:53 ID:9YALwuYf0 >>77 const使わんの? ・・・て、先に誰か言ってるな http://mevius.5ch.net/test/read.cgi/tech/1554171817/81
82: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 14:49:44 ID:9YALwuYf0 >>78 intが値渡しと決められた理由は理解してるか? 配列みたいに暗黙のアドレス演算子にもやればできた話で そのほうがおまえさんの主張する一貫性にも叶うわけだが http://mevius.5ch.net/test/read.cgi/tech/1554171817/82
83: デフォルトの名無しさん (ワッチョイ 6969-p3R9) [sage] 2019/04/10(水) 14:51:22 ID:hStfijf/0 by val と by ref でうあぁぁぁ http://mevius.5ch.net/test/read.cgi/tech/1554171817/83
84: デフォルトの名無しさん (アウアウエー Sa8a-f9KT) [sage] 2019/04/10(水) 15:21:31 ID:Y9aQW1ZLa >>80 そりゃ、付けられるときは基本いつでもconstですよ だからなに http://mevius.5ch.net/test/read.cgi/tech/1554171817/84
85: デフォルトの名無しさん (ワッチョイ ee8f-hWz0) [sage] 2019/04/10(水) 15:49:26 ID:qyNiIlQC0 >>84 付けられないときってどんなときでしょう http://mevius.5ch.net/test/read.cgi/tech/1554171817/85
86: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 15:56:55 ID:9YALwuYf0 >>84 77で「安全のために」って言っているのを 誤って変更してしまうのを防ぐためと読んでいたが これがそもそも違うのか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/86
87: デフォルトの名無しさん (アウアウエー Sa8a-f9KT) [sage] 2019/04/10(水) 16:15:30 ID:Y9aQW1ZLa >>86 変更しようがしまいが、意図があろうがなかろうが、コンテクストを分けるためですよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/87
88: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 16:36:22 ID:9YALwuYf0 >>87 へー、じゃあ関数を呼び出すたびごとにプロセス生成とかすんの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/88
89: デフォルトの名無しさん (アウアウエー Sa8a-f9KT) [sage] 2019/04/10(水) 16:51:52 ID:Y9aQW1ZLa >>88 なんで? チミは頻繁にグローバル変数を使うってこと?やめたほうがええよ http://mevius.5ch.net/test/read.cgi/tech/1554171817/89
90: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 16:58:14 ID:9YALwuYf0 >>89 なんでグローバル変数を使っちゃいかんのだ? スタックにしまえば安全だと思っているならおめでたいやつよ http://mevius.5ch.net/test/read.cgi/tech/1554171817/90
91: デフォルトの名無しさん (アウアウエー Sa8a-f9KT) [sage] 2019/04/10(水) 17:08:01 ID:Y9aQW1ZLa >>90 グローバル変数だめでしょ。 スタックってなんのこと?まさか関数呼び出しとスタックがセットだと思ってる? http://mevius.5ch.net/test/read.cgi/tech/1554171817/91
92: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 17:12:08 ID:9YALwuYf0 >>91 なんでと聞いている 答えてくれ http://mevius.5ch.net/test/read.cgi/tech/1554171817/92
93: デフォルトの名無しさん (アウアウエー Sa8a-f9KT) [sage] 2019/04/10(水) 17:16:15 ID:Y9aQW1ZLa >>92 そんなもん、密結合・低凝集を実現する目的でしか役に立たんからですよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/93
94: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 17:18:23 ID:9YALwuYf0 >>93 仮引数と自動変数が置かれるスタックもグローバルなんだが そのせいで密結合・低凝集になったりしているか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/94
95: デフォルトの名無しさん (ワッチョイ ee8f-hWz0) [sage] 2019/04/10(水) 17:20:34 ID:qyNiIlQC0 記憶領域確保に失敗したとき 落ちないように頑張ってくれるのと 即落ちるのと どっちがどうだったか忘れた 最近読んだどっかに書いてあった筈だけど思い出せん… x86 限定で良いので挙動とコーディングの関係に心当たりのある方御教示ねがいます。。。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/95
96: デフォルトの名無しさん (ワッチョイ 9dca-iMOx) [sage] 2019/04/10(水) 17:34:07 ID:VhJLBw5p0 こんな便所みたいなところでばっちばちでワロタ http://mevius.5ch.net/test/read.cgi/tech/1554171817/96
97: デフォルトの名無しさん (アウアウエー Sa8a-f9KT) [sage] 2019/04/10(水) 17:36:28 ID:Y9aQW1ZLa >>94 そうそう、だからポインタを使わないのがいいね http://mevius.5ch.net/test/read.cgi/tech/1554171817/97
98: デフォルトの名無しさん (アウアウエー Sa8a-f9KT) [sage] 2019/04/10(水) 17:39:25 ID:Y9aQW1ZLa 構造体に限った話でもないが、グローバル変数のポインタが引数として渡され、更にそういう関数が多段に続いたコードとか地獄だよ。 誰かが止めねばならんよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/98
99: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 17:44:54 ID:9YALwuYf0 >>97 あ、おまえさんそっち系か ・・・なんでCなんか使うの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/99
100: デフォルトの名無しさん (ワッチョイ 912d-iMOx) [sage] 2019/04/10(水) 17:46:05 ID:9YALwuYf0 >>98 グローバル変数をポインタ渡しは意味あるでしょ スコープを指定する、的なやつ http://mevius.5ch.net/test/read.cgi/tech/1554171817/100
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 902 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.027s