[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/10 01:28 / Filesize : 110 KB / Number-of Response : 467
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門編)Part 61



1 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 23:27:18 ]
C言語の*入門者*向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 60
pc12.2ch.net/test/read.cgi/tech/1264920499/
★過去スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★初心者、初級者の方は他の質問スレのほうが良いかもしれません。
例えば
【初心者歓迎】C/C++室 Ver.72【環境依存OK】
pc12.2ch.net/test/read.cgi/tech/1267775473/
とか
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 134代目
pc12.2ch.net/test/read.cgi/tech/1263824755/
★C++言語についてはなるべく聞かないでください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

448 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:26:32 ]
どういう風にprintfを作るかなんて決まってないしコンパイラメーカーが勝手にやってるだけだよ
きっと、前者だろうなって気はするけど

449 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:27:39 ]
前者な気がする

450 名前:431 [2010/03/19(金) 22:28:24 ]
>>448
そうなんですか…
どっちが主流なのか知りたかったのですが(速度とかいろんな意味で)

451 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:30:39 ]
そんなこと知ってどうすんだろ

452 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:31:24 ]
速度とかそれこそきまってねえだろ
おまえはなにか?コンパイラは全て同じ中身じゃないといけないと思ってんのか?主流ってなんだ?どの環境の主流だ?
クソして寝ろや

453 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:33:28 ]
>>450
もう答えは出てるだろう。文字列探索程度のコストを気にするより
もっと他の所の速度を気にしろ。

454 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:35:29 ]
簡単なプログラムつくって、最適化全部はずしてバイナリを逆アセンブルして追っかけてみれば?
ペンティアム以降になると急に難しくなるから、LSICの試食版あたりからははじめて
あるいはgccならprintfもソースみれるよ

そうやって3,4個調べてみれば主流もわかるんじゃね

455 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 23:38:50 ]
robot C わかる人いる?

456 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 23:41:38 ]
ボクは個人的には
char c[1234]
ってのを

putchar( c[0] ); putchar( c[1] ); putchar( c[2] ); putchar( c[3] ); putchar( c[4] ); putchar( c[5] ); 〜〜〜ずーっとつづく
って書くよりも

char* p=c;
putchar( *p++ ); putchar( *p++ ); putchar( *p++ ); putchar( *p++ ); putchar( *p++ );  〜〜〜ずーっとつづく
って書く方が、コピペが楽なので好きですw




457 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 23:43:53 ]


458 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 23:44:02 ]
頭おかしいのかおまえ

459 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 23:52:53 ]
俺がコンパイラなら syntax error 出すわな

460 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 23:53:21 ]
最終的にはsystem callを追っかけてlibcやkernelに入りそうだな

461 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 23:59:13 ]
int 21Hで終わりでいいじゃん

462 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 00:06:12 ]
char c[1234];
ってのは、使うときは putchar( c[3] ) みたいにして使います。 c[0] なら最初の文字、c[3]なら3番目の文字です。  

&c[3]  みたいに、頭に&マークをつけると、このデータがメモリのどこに書かれてるかがわかります。配列の先頭が、メモリのどこにあるかは &c[0] でわかります。

使うときにカッコを取って c って書くと、 &c[0] って書いたときと同じ数字がわかります。 この c そのものを c++ ってやって一個増やすと、
char型の配列なら、char一個分だけメモリをさしてる場所が増えます。 だから c++ とすると、つぎに使うときは c は &c[1] といういみになります。

int型の配列なら、int i[1234];

463 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 00:08:19 ]
i++ で int の大きさ分だけ増えます。 

や〜めた

464 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 00:14:26 ]
>462
またまたご冗談を

465 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 00:19:03 ]
>>462
そんなコンパイラなんて…
あるかもしれないが規格無視じゃないか

466 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 00:27:03 ]
>>462
その場合cは定数だからc++なんて出来ないだろアホ








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<110KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef