[過去ログ]
C言語なら俺に聞け 151 (1002レス)
C言語なら俺に聞け 151 http://mevius.5ch.net/test/read.cgi/tech/1554171817/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
298: デフォルトの名無しさん (ワッチョイ 2301-4ufv) [sage] 2019/04/30(火) 17:54:15.66 ID:Cm5pFeJF0 >>296 別にsetjmp, longjmpなくてもプログラムは組めるし Memory Mapped I/Oならデバイス制御もC言語だけで組めるだろ http://mevius.5ch.net/test/read.cgi/tech/1554171817/298
299: デフォルトの名無しさん (ワッチョイ 2d5f-zd//) [sage] 2019/04/30(火) 18:21:31.59 ID:hc3e5D+80 プログラミング素人です。 scanf関数について質問なのですが、 char str[10]; for(i=0;i<5;i++){ scanf(“%c”,str[i]); } として、「abcd」と入力された場合、 str[0]=‘a’ str[1]=‘b’ str[2]=‘c’ str[3]=‘d’ str[4]=‘¥’ str[5]=‘0’ となるのでしょうか? str配列の0~3番目にa~dが格納されていることはprintfでわかりましたが、4以降は何が格納されているのか自分で調べる方法がわかりません… http://mevius.5ch.net/test/read.cgi/tech/1554171817/299
300: さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ b501-VySk) [sage] 2019/04/30(火) 18:41:15.22 ID:lzNlO/OB0 >>299 C/C++では文字は整数なんだ。整数として出力して、アスキー表を参照すれば、文字がわかるはず。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/300
301: ◆QZaw55cn4c (ワッチョイ 6347-HJzg) [sage] 2019/04/30(火) 18:44:59.71 ID:iYYZTFZo0 >>299 鋭い質問ですね…手元でいろいろ試していますが、今ひとつ事情がつかめないでいます https://ideone.com/l3ZslT ideone と x64/gcc/cygwin でも結果が変わってしまいます… http://mevius.5ch.net/test/read.cgi/tech/1554171817/301
302: さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ b501-VySk) [sage] 2019/04/30(火) 18:51:26.51 ID:lzNlO/OB0 str[5]以降は決まってないから調べてもあまり意味がない。多分ゴミデータ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/302
303: デフォルトの名無しさん (ワッチョイ e501-SN11) [sage] 2019/04/30(火) 19:09:43.34 ID:QYNECMA50 >>299 str[4]='¥0' それ以降はゴミ http://mevius.5ch.net/test/read.cgi/tech/1554171817/303
304: デフォルトの名無しさん (ワッチョイ 65b3-6xWl) [sage] 2019/04/30(火) 19:30:23.83 ID:CZMZfk1L0 >>303 str[4]は'\n'じゃね? http://mevius.5ch.net/test/read.cgi/tech/1554171817/304
305: デフォルトの名無しさん (アウアウエー Sa13-9UpB) [sage] 2019/04/30(火) 19:42:59.90 ID:ZdpyyptHa まあ改行入れたら改行ですね http://mevius.5ch.net/test/read.cgi/tech/1554171817/305
306: デフォルトの名無しさん (ワッチョイ a373-MRXB) [sage] 2019/05/01(水) 00:16:42.15 ID:pM2+GGDK0 自作関数内のエラー時にerrnoに値をセットするのってマナー違反ですか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/306
307: デフォルトの名無しさん (アウアウエー Sa13-9UpB) [sage] 2019/05/01(水) 00:27:56.20 ID:Lv+8X8zta 入れられるもんなら入れてみろ http://mevius.5ch.net/test/read.cgi/tech/1554171817/307
308: デフォルトの名無しさん (ワッチョイ 4b63-MRXB) [sage] 2019/05/01(水) 01:10:53.33 ID:dGckAS/m0 信長 入れられないなら殺してしまえそのプロセス 秀吉 入れられるまで仕様変更を待とう 家康 俺が直してやる! http://mevius.5ch.net/test/read.cgi/tech/1554171817/308
309: 306 (ワッチョイ a3c5-MRXB) [sage] 2019/05/01(水) 02:42:38.43 ID:LlVhs4fx0 https://ideone.com/JeNdi9 こういうエラー処理を書きたいんですが http://mevius.5ch.net/test/read.cgi/tech/1554171817/309
310: デフォルトの名無しさん (アウアウウー Sae9-lbZQ) [sage] 2019/05/01(水) 13:05:10.79 ID:Vm5gAWGsa >>305 str[4]が改行コードの\nだとして str[5]は\0にはならないの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/310
311: デフォルトの名無しさん (アウアウエー Sa13-9UpB) [sage] 2019/05/01(水) 14:38:29.13 ID:pGaFGHQ6a >>310 それは明らかになりません。 null文字入れるのは大抵はこっちの役目です。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/311
312: デフォルトの名無しさん (JP 0H13-1PXK) [] 2019/05/01(水) 14:41:59.38 ID:yF2N0E1tH >>304 %c は空白文字は入らないのでは? http://mevius.5ch.net/test/read.cgi/tech/1554171817/312
313: デフォルトの名無しさん (アウアウエー Sa13-9UpB) [sage] 2019/05/01(水) 15:19:37.49 ID:pGaFGHQ6a %cは文字は全部入る。 受け付ける文字をはっきりさせたいなら[]使うのがよい。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/313
314: デフォルトの名無しさん (ワッチョイ 7fda-51S+) [sage] 2019/05/02(木) 12:01:07.73 ID:oq2ExZVd0 printf()のペアっぽいからという理由で scanf()を使わせる初心者本をこの世から駆逐すべき http://mevius.5ch.net/test/read.cgi/tech/1554171817/314
315: デフォルトの名無しさん (ワッチョイ 0663-Cg3z) [sage] 2019/05/02(木) 12:52:42.24 ID:Yg4L14jR0 使い方を熟知している人が使う分には問題ないが 「良い子はマネをしてはいけません」の典型だな http://mevius.5ch.net/test/read.cgi/tech/1554171817/315
316: デフォルトの名無しさん (ワッチョイ 62a5-PJjo) [sage] 2019/05/02(木) 13:24:17.15 ID:+EePt9KB0 初心者はただ値が入力できりゃ楽しいんじゃね ついでにscanfはかんたんに間違いを引き起こすことが出来るから脆弱性の説明にも使える このご時世、かんたんに間違いを体験させること自体が難しくなってる セキュリティが高くなると間違えさせる行動へのコストもまた高くなる http://mevius.5ch.net/test/read.cgi/tech/1554171817/316
317: デフォルトの名無しさん (アウアウウー Sabb-vI8p) [] 2019/05/02(木) 15:41:08.09 ID:jQNzLmJja 昔のマイコン的なものだと暴走したりしてなお良い。 core dump してるようじゃまだまだ安全過ぎる。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/317
318: デフォルトの名無しさん (ワッチョイ 6752-ahOC) [sage] 2019/05/02(木) 19:38:22.59 ID:lQcGaGZC0 たしかにscanfが危険なものだと知った時にどうやってfgetsに置き換えるか考えたの思い出した http://mevius.5ch.net/test/read.cgi/tech/1554171817/318
319: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/02(木) 21:18:22.90 ID:H376nx5x0 >>287 その数%のアセンブラの部分を、おまえさんは「OS」と呼ぶのか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/319
320: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/02(木) 21:20:29.21 ID:H376nx5x0 >>314 scanfの仕様をロクに調べもせず自分の頭で考えもせず どっかの受け売りを初心者に吹聴する無能老害こそ この世から駆逐すべきだろうが http://mevius.5ch.net/test/read.cgi/tech/1554171817/320
321: デフォルトの名無しさん (トンモー MM93-qoXq) [] 2019/05/02(木) 21:21:11.50 ID:TaSBDpemM >>319 ヨコからスマンけど そゅ意味じゃないのが 理解できないほどの馬鹿は ここにくるべきではない http://mevius.5ch.net/test/read.cgi/tech/1554171817/321
322: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/02(木) 21:22:02.02 ID:H376nx5x0 >>315 「よい子は真似をしてはいけません」と言われる芸当をやっているプロになろうって人には当てはまらない http://mevius.5ch.net/test/read.cgi/tech/1554171817/322
323: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/02(木) 21:24:27.49 ID:H376nx5x0 >>321 おまえさんこそ>>283からの話の流れを読んでるか? 人を馬鹿呼ばわりした自分の発言に責任を持てよ http://mevius.5ch.net/test/read.cgi/tech/1554171817/323
324: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/02(木) 21:25:23.96 ID:H376nx5x0 匿名掲示板だから逃げたければ逃げられるが おまえさんの人間性の問題が変わるわけではない http://mevius.5ch.net/test/read.cgi/tech/1554171817/324
325: デフォルトの名無しさん (トンモー MM93-qoXq) [] 2019/05/02(木) 21:34:15.84 ID:TaSBDpemM 馬鹿丸だし(笑) 論文ゼロの院生くずれ馬鹿ニート という雰囲気プンプンだな(爆) http://mevius.5ch.net/test/read.cgi/tech/1554171817/325
326: デフォルトの名無しさん (ワッチョイ f7dc-ahOC) [sage] 2019/05/02(木) 21:53:25.96 ID:TlCaXbcx0 院生とかめっちゃ高評価じゃんw 俺には大学にコロコロコミックを持ってきて、全ての人間が敵に見えて毎日発狂してた同級生の江○君と被ってしまう。 頭はすこぶる良いんだけど、頭が弱い残念なアイツの雰囲気がプンプン http://mevius.5ch.net/test/read.cgi/tech/1554171817/326
327: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/02(木) 21:55:19.32 ID:H376nx5x0 学歴コンプレックスまる出しだな 頭隠して尻隠さずw http://mevius.5ch.net/test/read.cgi/tech/1554171817/327
328: デフォルトの名無しさん (トンモー MM93-qoXq) [] 2019/05/02(木) 22:04:26.88 ID:TaSBDpemM 院生の意味が理解できない馬鹿(笑) http://mevius.5ch.net/test/read.cgi/tech/1554171817/328
329: デフォルトの名無しさん (トンモー MM93-qoXq) [] 2019/05/02(木) 22:05:27.60 ID:TaSBDpemM 学歴など無意味 馬鹿は馬鹿(笑) http://mevius.5ch.net/test/read.cgi/tech/1554171817/329
330: デフォルトの名無しさん (ワッチョイ e201-VrjD) [sage] 2019/05/02(木) 22:06:18.25 ID:BLoepDOP0 >>319 何を言いたいのか意味不明w http://mevius.5ch.net/test/read.cgi/tech/1554171817/330
331: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/02(木) 22:22:28.19 ID:H376nx5x0 効いてる効いてるw 突然論文ゼロとか言い出すカモは扱いやすすぎ http://mevius.5ch.net/test/read.cgi/tech/1554171817/331
332: デフォルトの名無しさん (アウアウクー MM9f-I0oC) [sage] 2019/05/03(金) 00:28:15.71 ID:ykdjIw3IM #include <stdio.h> int main(void){ remove("https://mevius.5ch.net/test/read.cgi/tech/1554171817/"); return 0; } http://mevius.5ch.net/test/read.cgi/tech/1554171817/332
333: デフォルトの名無しさん (ワッチョイ 6752-ahOC) [sage] 2019/05/03(金) 03:22:53.97 ID:l9gwftmb0 文字列を消しても実態が消えないのでは http://mevius.5ch.net/test/read.cgi/tech/1554171817/333
334: デフォルトの名無しさん (トンモー MM93-qoXq) [] 2019/05/03(金) 07:52:51.95 ID:EnpL9vkxM Cできるけどアセンブラできない、 ってのはCもできないってことだ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/334
335: デフォルトの名無しさん (ワッチョイ 06d2-R0y6) [sage] 2019/05/03(金) 09:31:51.08 ID:Adh7HeMA0 アセンブラからCに行ったらアセンブラでやってたアルゴリズムがCで表現できなく、非常にもどかしくて・・・ http://mevius.5ch.net/test/read.cgi/tech/1554171817/335
336: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/03(金) 10:16:06.44 ID:ZD3cPA9Q0 >>335 それは初耳、いや、どういうのに手こずったのか参考に教えていただけませんか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/336
337: デフォルトの名無しさん (ワッチョイ cb02-R0y6) [sage] 2019/05/03(金) 17:51:44.54 ID:VHrwonhY0 出来る出来ないっていう話なら、基本Cできるんじゃないかな。 CPU固有のブルック転送命令とかそんなのを除いて。 (それすら別にできるけどね。) 1命令でできてたことがめんどくさくなるってものならあるかも。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/337
338: デフォルトの名無しさん (ワッチョイ 0663-Cg3z) [sage] 2019/05/03(金) 18:09:15.33 ID:Mu7G7jjV0 アセンブラで作るにしてもでもアルゴリズムで実装しているならCでも出来るんじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/338
339: デフォルトの名無しさん (ワッチョイ 7fe9-3iRC) [sage] 2019/05/03(金) 18:10:41.96 ID:3HjiUXGl0 プラットフォーム依存の問題は言語じゃなくてコンパイラより下が解決するわけでさ、それをできると言っていいならなんでもできると思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/339
340: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/03(金) 18:51:30.00 ID:ZD3cPA9Q0 >>335 一つ思い出しました、キャリーフラグを活用するアルゴリズムは、そのままでは C でかけずに大変ですね ローテートとかシフトとか http://mevius.5ch.net/test/read.cgi/tech/1554171817/340
341: デフォルトの名無しさん (ワッチョイ 4240-ahOC) [sage] 2019/05/03(金) 19:20:32.29 ID:Qo5d3PXm0 >335 キャリーフラグが無くてオーバーフロー/アンダーフロー判定が面倒だとか、 ビットシフトはあってもローテーションが無いとか。 ジャンプ命令使うとパイプラインが初期化されるからなるべく使うなと聞いたのに 逆汗見たらジャンプしまくってるじゃないかとか。 8/16bit時代のアセンブラは1バイト、1ステート削って処理速度稼いでたんで 上記の差を補う処理が無駄に思えて・・・。 かといってインラインアセンブラ使うのはなんか違うと(インライン使うと最適化されないとも聞いてたし)。 それならアセンブラでCから呼べる関数書いた方がすっきりするとか。 20世紀時代のことだ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/341
342: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/03(金) 19:43:11.87 ID:EWn4tN7a0 マシン語でコード書いてるときはオンレジスタ思考なのに 当時のCはデフォautoつまりオンメモリなので ああ、やはりマシン語よりは速度が落ちる言語なんだな コンパイラ言語とインタプリタ言語のような違いが もう1つあるんだなって思っていた http://mevius.5ch.net/test/read.cgi/tech/1554171817/342
343: デフォルトの名無しさん (ワッチョイ d701-LHRJ) [sage] 2019/05/03(金) 20:21:30.59 ID:B4eLqFJ00 スパゲッティなものを書いてるならともかく、真っ当にサブルーチン化してたら必要悪としてレジスタ志向は早々に諦めてたわ。 局所的に最適化するならそれは別問題として解決してた。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/343
344: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/03(金) 20:27:04.09 ID:EWn4tN7a0 構造化なんか眼中になかったね 速度こそ純粋で美しい法律だった http://mevius.5ch.net/test/read.cgi/tech/1554171817/344
345: デフォルトの名無しさん (ワッチョイ e201-VrjD) [sage] 2019/05/03(金) 20:31:26.00 ID:4Ii/FXBd0 >>340 > 一つ思い出しました、キャリーフラグを活用するアルゴリズムは、そのままでは C でかけずに大変ですね それはアルゴリズムと言うより実装の話かと http://mevius.5ch.net/test/read.cgi/tech/1554171817/345
346: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/03(金) 20:52:43.47 ID:EWn4tN7a0 PC9801のVRAMを1ドットスクロールさせるのなんか キャリー使って書いてたのをキャリーなしで書き直させられるのは悲しかった http://mevius.5ch.net/test/read.cgi/tech/1554171817/346
347: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/03(金) 21:19:31.21 ID:0u/4Gvfl0 >>345 >アルゴリズムと言うより実装の話 いや、それは不思議な分類だと思います、DES/AES などはローテート・シフトがそのままアルゴリズムになるのでは? http://mevius.5ch.net/test/read.cgi/tech/1554171817/347
348: デフォルトの名無しさん (ワッチョイ e201-VrjD) [sage] 2019/05/03(金) 22:27:22.12 ID:4Ii/FXBd0 >>347 そのアルゴリズムにキャリーフラグなんて出てこないでしょ? http://mevius.5ch.net/test/read.cgi/tech/1554171817/348
349: デフォルトの名無しさん (ワッチョイ 422f-ahOC) [sage] 2019/05/03(金) 22:32:04.75 ID:EWn4tN7a0 アルゴリズムという特定ワードに囚われて用語の定義の話に逸れていくつまらん展開だ http://mevius.5ch.net/test/read.cgi/tech/1554171817/349
350: デフォルトの名無しさん (ワッチョイ cb5f-zb9T) [sage] 2019/05/04(土) 04:19:37.51 ID:qzgt3pmZ0 文字列入力を受け付けて、それをstrという変数に代入する…というプログラムを書きたいのですが、知りたいことがあって以下のような条件を課させていただきます。 ・for文を使い、その中でscanf(“%c”,str[i])により1文字ずつ文字をstrの各配列に格納していくこと ・文字数は最大50文字までとし、たとえば「abcd」などのように4文字であった場合も、abcdと入力→Enterが押された時点で、その文字列をstrに代入して、その4文字を表示して完了とする ・if文を使ってそれを実現すること #include<stdio.h> int main(void){ int i,str[50]; for(i=0;i<50;i++){ //入力処理 scanf(“%c”,str[i]); } for(i=0;i<50;i++){ //出力 printf(“%c”,str[i]); } } このコードだと、「abcd」と入力してEnterを押しただけでは、出力されません。(50文字入力されるまで入力受け付け状態から遷移しない) どのように改良すればよいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/350
351: デフォルトの名無しさん (ワッチョイ 7fe9-3iRC) [sage] 2019/05/04(土) 05:12:15.70 ID:Yh80Q70x0 入力される度に文字のチェックしてみれば。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/351
352: デフォルトの名無しさん (ワッチョイ e201-VrjD) [sage] 2019/05/04(土) 05:15:36.04 ID:eVIwB2YR0 >>350 宿題は自分でやれ http://mevius.5ch.net/test/read.cgi/tech/1554171817/352
353: デフォルトの名無しさん (ワッチョイ 6752-ahOC) [sage] 2019/05/04(土) 05:21:50.50 ID:I31OC90J0 何故誰もscanf("%c", str[i])に突っ込まないのか http://mevius.5ch.net/test/read.cgi/tech/1554171817/353
354: デフォルトの名無しさん (ワッチョイ 177b-VjZg) [sage] 2019/05/04(土) 05:39:39.99 ID:RAMEL17i0 >>350 「入力処理」のforループで、「50文字入力されたら」を判定してるけど、 もう一方の終了条件「Enterが押されたら」を判定してないからでしょ。 1文字受け取るごとに、Enter '\n' ならループを抜ける、をやらなきゃ。 というわけで >>315 に至る。 >>353 このスレッドの伝統かと。>>299 以下を参照のこと。 あちらはスルーしたのに、こちらでツッコむのは抵抗感がある、みたいな。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/354
355: 354 (ワッチョイ 177b-VjZg) [sage] 2019/05/04(土) 10:20:54.58 ID:RAMEL17i0 誤: というわけで >>315 に至る。 正: というわけで >>351 に至る。 315 を確認したところ、まるっきり見当違いでもなかったね。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/355
356: デフォルトの名無しさん (アウアウウー Sabb-H3I8) [] 2019/05/04(土) 10:47:02.91 ID:lguQ1Ppja >>354 >>299は見逃していたなあ。空目だな。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/356
357: デフォルトの名無しさん (アウアウウー Sabb-vI8p) [] 2019/05/04(土) 11:41:09.49 ID:yT0QTmUja >>350 もし宿題が本当に scanf(“%c”,str[i]) と書いてある場合は先生が間違えてるので「 scanf(“%c”, &str[i]) ですよね?」とツッコミを入れてみると良い。 そうすると君はできる学生と思われて成績が上がるるか、または気に入らんやつと思われて成績が下がると思う。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/357
358: デフォルトの名無しさん (トンモー MM93-qoXq) [] 2019/05/04(土) 13:40:22.89 ID:tOD9kuurM そういえば東大では今でも C言語が必修なのか? まじ時代遅れの馬鹿だと思ってたら、 Cしかできない在日の馬鹿教員が いるのだとか http://mevius.5ch.net/test/read.cgi/tech/1554171817/358
359: デフォルトの名無しさん (ワッチョイ 0663-Cg3z) [sage] 2019/05/04(土) 13:51:43.16 ID:k+B84EwL0 学歴コンプレックスの人? http://mevius.5ch.net/test/read.cgi/tech/1554171817/359
360: デフォルトの名無しさん (ワッチョイ 6752-ahOC) [sage] 2019/05/04(土) 14:16:41.02 ID:vXlxEQ1E0 参照型とか出てくるのにそもそも参照がなにかも理解出来てないにわかオブジェクト指向が増えるよりよっぽどマシよ なんの言語とは言わないけども C言語なら理解しなければ先に進まないから http://mevius.5ch.net/test/read.cgi/tech/1554171817/360
361: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/04(土) 14:19:50.76 ID:7fnHNdb20 >>358 C が分からないようでは話にならないのでは? http://mevius.5ch.net/test/read.cgi/tech/1554171817/361
362: デフォルトの名無しさん (トンモー MM93-qoXq) [] 2019/05/04(土) 14:47:16.31 ID:tOD9kuurM >>361 トヨタ系の研究所には Cの分かる研究員がもういないのです 研究には全く支障がないです 組込みやってる高卒やFランが Cをやるべきでしょ? http://mevius.5ch.net/test/read.cgi/tech/1554171817/362
363: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/04(土) 14:55:00.73 ID:7fnHNdb20 >>362 それは多分ありえない話でしょうね、なぜならば C は計算機言語の基本で、各種書籍ではアルゴリズムの記述に C を使うものが大半ですから 本も読めない人がトヨタの研究者とか、あなたの空想の話なのでは? http://mevius.5ch.net/test/read.cgi/tech/1554171817/363
364: デフォルトの名無しさん (ワッチョイ 7fe9-3iRC) [sage] 2019/05/04(土) 15:22:49.59 ID:Yh80Q70x0 アルゴリズムの勉強はpythonがいいよ http://mevius.5ch.net/test/read.cgi/tech/1554171817/364
365: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/04(土) 15:25:54.07 ID:7fnHNdb20 >>364 python で二分木の実装とかできますか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/365
366: デフォルトの名無しさん (ワッチョイ 7fe9-3iRC) [sage] 2019/05/04(土) 16:05:03.07 ID:Yh80Q70x0 >>365 できますん http://mevius.5ch.net/test/read.cgi/tech/1554171817/366
367: デフォルトの名無しさん (トンモー MM93-qoXq) [] 2019/05/04(土) 16:07:19.80 ID:LvYM7SOrM >>365 そんなのはFランの仕事でしょ? http://mevius.5ch.net/test/read.cgi/tech/1554171817/367
368: デフォルトの名無しさん (ワッチョイ bb87-ahOC) [sage] 2019/05/04(土) 16:13:20.77 ID:8Q7/PMC20 論文の次はFランか、哀れだなw http://mevius.5ch.net/test/read.cgi/tech/1554171817/368
369: デフォルトの名無しさん (ワッチョイ 6752-ahOC) [sage] 2019/05/04(土) 16:49:12.48 ID:vXlxEQ1E0 やっぱり相当コンプレックスの塊で頭悪いんだろうなぁ http://mevius.5ch.net/test/read.cgi/tech/1554171817/369
370: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/04(土) 18:28:05.43 ID:7fnHNdb20 >>366 本当ですか?ポインタがない python では無理なんじゃないですか!? http://mevius.5ch.net/test/read.cgi/tech/1554171817/370
371: デフォルトの名無しさん (アウアウウー Sabb-vI8p) [] 2019/05/04(土) 18:39:36.30 ID:yT0QTmUja pythonって参照ないの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/371
372: デフォルトの名無しさん (アウアウエー Sa3a-3iRC) [sage] 2019/05/04(土) 18:43:01.66 ID:gINSNBZZa 真面目に言うとpythonは基本的に全部参照渡しだね。 参照したものを直接いじれるかというとそうでない場合があるけども。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/372
373: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/04(土) 19:05:41.64 ID:7fnHNdb20 >>372 なるほど、ではユーザー定義の型は自動的に参照扱い、すなわち Java みたいなかんじなんですね であれば苦労すれば二分木を実装できますね、大変失礼いたしました http://mevius.5ch.net/test/read.cgi/tech/1554171817/373
374: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4e3e-Cg3z) [sage] 2019/05/04(土) 19:18:51.61 ID:21Of2ELD0 >>370 Python に限らず動的型の言語の多くは変数に値を入れるんじゃなくて、 オブジェクトと変数の間に束縛 (bind) を作ることで成り立ってる。 辿ることでオブジェクトを参照するんだ。 実質的にポインタだよ。 むしろポインタしかない。 (小さい値 (小さい数値とか文字とか) はアロケーションを抑制するためにそのまま ワードに突っ込むような最適化をする言語 (処理系) もあるけども。) http://mevius.5ch.net/test/read.cgi/tech/1554171817/374
375: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/04(土) 20:22:17.94 ID:7fnHNdb20 >>374 Java ならば boxing でヒープにとる値とスタックに取る値とをある程度(意識せずに)変換できますね(そういう C/C++ like な意識が皆無ではない、という意味) ただし、二分木に関してはいいたいことがまだあって、「本物の」二分木は二重ポインタ(ポインタのポインタ)が必要なのではないか?と思っています さすがに Java には二重ポインタはない、そんな用途の言語じゃない Python や ruby にはあるのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/375
376: デフォルトの名無しさん (アウアウエー Sa3a-3iRC) [sage] 2019/05/04(土) 20:55:58.63 ID:cZ5M6KFWa 二重ポインタを何に使う? Cだと引数でノードのオブジェクトを返す辺りか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/376
377: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/04(土) 21:01:18.06 ID:7fnHNdb20 >>376 ノードを追加する関数add の引数を add(&root, Object) ってするでしょ?&root ってことは、struct *node のアドレス、すなわち struct node ** が必要なのではないかと http://mevius.5ch.net/test/read.cgi/tech/1554171817/377
378: デフォルトの名無しさん (アウアウエー Sa3a-3iRC) [sage] 2019/05/04(土) 21:43:09.25 ID:cZ5M6KFWa >>377 わからんが、Cでも戻り値でポインタを返せばいいんじゃないか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/378
379: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4e3e-Cg3z) [sage] 2019/05/04(土) 21:46:08.02 ID:21Of2ELD0 >>375 参照を持つオブジェクトへの参照を持てるんだから、事実上の二重ポインタとして使えるよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/379
380: デフォルトの名無しさん (ワッチョイ bb87-ahOC) [sage] 2019/05/04(土) 21:57:52.42 ID:8Q7/PMC20 二重までは使うんだよなあ 三重をなぜ使わないか、説明できるか?w http://mevius.5ch.net/test/read.cgi/tech/1554171817/380
381: デフォルトの名無しさん (ワッチョイ d701-o1CB) [sage] 2019/05/04(土) 22:09:57.55 ID:RtDHzLy60 ガベージコレクションと裸のポインタって相性が悪いような http://mevius.5ch.net/test/read.cgi/tech/1554171817/381
382: デフォルトの名無しさん (ワッチョイ e201-VrjD) [sage] 2019/05/04(土) 22:15:35.23 ID:eVIwB2YR0 >>378 2個返したい時とか、戻り値は成功かどうかのコードを返したいとか http://mevius.5ch.net/test/read.cgi/tech/1554171817/382
383: デフォルトの名無しさん (アウアウエー Sa3a-3iRC) [sage] 2019/05/04(土) 23:07:46.23 ID:cZ5M6KFWa 道はいろいろあると思うが、せっかくあるんだから構造体使って皆くるんじゃえと思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/383
384: デフォルトの名無しさん (アウアウウー Sabb-vI8p) [] 2019/05/05(日) 00:20:41.66 ID:nwgMKC8Ra 微妙にスレチのように思うので続きはJava初心者のスレでやった方が良いのではないか? まあ人に聞かなくても Java を勉強して Java の API のソースを読めばそういうのをどうしているのかは何れわかると思うけどね。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/384
385: デフォルトの名無しさん (ワッチョイ e22c-4xtZ) [sage] 2019/05/05(日) 00:21:53.66 ID:tvdtPjB+0 Ruby での、Jaggy 配列は、 ary = [ ] # 配列の配列 ary.push [ "a" ] ary.push [ 1, 2 ] p ary #=> [["a"], [1, 2]] C/C++ 以外のたいていの言語では、数字などのprimitive 以外は、すべて参照。 (primitiveは参照にするよりも、その場所へ値を埋め込んだ方が速い) 外側の配列は、内側の配列の参照を持っている。 内側の配列は、(primitive以外の)各要素の参照を持っている primitive以外は、コピーしても参照がコピーされるだけで、値はコピーされない。 つまり、同一インスタンスを指す。 別のインスタンスは作られない new されていなければ、インスタンスは作られない。 代入しただけでは、参照がコピーされるだけ これを、shallow copy (浅いコピー)と呼ぶ(同一インスタンス)。 new して、別のインスタンスを作ることを、deep copy (深いコピー)と呼ぶ(別のインスタンス) http://mevius.5ch.net/test/read.cgi/tech/1554171817/385
386: デフォルトの名無しさん (ワッチョイ 8252-M0pk) [sage] 2019/05/05(日) 00:37:14.86 ID:RPhfdkos0 >>385 馬鹿は消えろ http://mevius.5ch.net/test/read.cgi/tech/1554171817/386
387: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 08:54:51.63 ID:3EWrT4Pn0 >>378 それは無駄な代入が発生するでしょう? http://mevius.5ch.net/test/read.cgi/tech/1554171817/387
388: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 09:01:10.92 ID:3EWrT4Pn0 >>380 余裕で三重ポインタなどほいほいと使いますよ https://mevius.5ch.net/test/read.cgi/tech/1434079972/26 void prep_exe(char *sttp, char **path, char ***argv) char **argv を使うことが理解できるのだったら「argv のアドレスを渡す」みたいな場合に渡された関数側では三重ポインタを使うことになるでしょう http://mevius.5ch.net/test/read.cgi/tech/1554171817/388
389: デフォルトの名無しさん (ワッチョイ 9b6d-ahOC) [sage] 2019/05/05(日) 09:04:36.94 ID:hoO1o10+0 >>388 それcodepadだろ? 使いさえすればいいって話じゃなくて http://mevius.5ch.net/test/read.cgi/tech/1554171817/389
390: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 09:08:14.08 ID:3EWrT4Pn0 >>389 無論使いさえすればいい、というわけではなく、この例では小さなシェルを実装しており、シェルのパイプ機能を実装するのに三重ポインタを使ったのです http://mevius.5ch.net/test/read.cgi/tech/1554171817/390
391: デフォルトの名無しさん (ワッチョイ 7fe9-3iRC) [sage] 2019/05/05(日) 09:21:39.41 ID:2T/oydys0 >>387 引数を介すと代入が減るってこと? http://mevius.5ch.net/test/read.cgi/tech/1554171817/391
392: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 09:47:47.39 ID:3EWrT4Pn0 >>391 代入命令が増えるという意味ではなく、「同じ値」なのに代入してしまう、という作業が >>378「戻り値でポインタを返」す方式の書き方だと不可避です http://mevius.5ch.net/test/read.cgi/tech/1554171817/392
393: デフォルトの名無しさん (ワッチョイ f701-EPtf) [sage] 2019/05/05(日) 10:05:07.93 ID:bV6goPu10 呼び出しの前後で、ptrの値が 同じかもしれない、場合よっては変わるかもしれない関数 ptr = func1(ptr, opt); と func2(&ptr, opt); うーんどっちも使うな… http://mevius.5ch.net/test/read.cgi/tech/1554171817/393
394: デフォルトの名無しさん (ワッチョイ 7fe9-3iRC) [sage] 2019/05/05(日) 10:28:11.80 ID:2T/oydys0 >>392 じゃあ、一時変数に代入しとけば? http://mevius.5ch.net/test/read.cgi/tech/1554171817/394
395: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 10:29:23.05 ID:3EWrT4Pn0 >>393 前者 >ptr = func1(ptr, opt); は初心者用で、>>392 のいう無駄な代入が含まれています、二重ポインタがわかるのなら後者にするべきです http://mevius.5ch.net/test/read.cgi/tech/1554171817/395
396: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 10:30:14.08 ID:3EWrT4Pn0 >>394 シンプルな記述ができるのに、わざと複雑な書き方にするのは問題なのでは? http://mevius.5ch.net/test/read.cgi/tech/1554171817/396
397: デフォルトの名無しさん (ワッチョイ 7fe9-3iRC) [sage] 2019/05/05(日) 10:32:32.58 ID:2T/oydys0 >>396 じゃあ、戻り値そのまま使えば? mallocは使うんでしょ? http://mevius.5ch.net/test/read.cgi/tech/1554171817/397
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 605 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.028s