C言語ならアタシに聞きなさい<37>
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGC言語は時代遅れなんかじゃないです。
みんな大好きなんです。このシリーズの速さがそれを物語っています。
・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
・comp.lang.c FAQ(英語の原文)
http://www.eskimo.com/~scs/C-faq/top.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
推薦図書/必読書のためのスレッド PART6
http://pc3.2ch.net/test/read.cgi/tech/1033207156/
・前スレ <36>
http://pc3.2ch.net/test/read.cgi/tech/1035211039/
コンパイラ、過去ログなどのリンクは>>2-5 あたり
0232デフォルトの名無しさん
NGNG負数に2の補数を使ってないCPUなんてあるのか?
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGPS2のCPUとか。
0235デフォルトの名無しさん
NGNGはじめっからCは高級アセンブラって位置付けなんだから
変な期待すんな
0236デフォルトの名無しさん
NGNGモノは使いよう。
クソソースを作るやつがクソ
つーか age る程の話題ではない
0237デフォルトの名無しさん
NGNGたとえば
void hoge(char ch);
という関数があったら、intに変換されるってこと?
わけわからん。
0238デフォルトの名無しさん
NGNG解説お願いします。
0239デフォルトの名無しさん
NGNG未定義・処理系依存が多すぎるじゃん!
0240デフォルトの名無しさん
NGNGマジで?
gccとかやばいんでない?
0241デフォルトの名無しさん
NGNGn = c - '0';
みたいなのは0x80をまたいでは使えないんだね。気付かなかった。やらないけど。
0242デフォルトの名無しさん
NGNGだから、ないとまずい理由をちゃんと書け。
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGだれに返事してるの?
0245デフォルトの名無しさん
NGNGCと関係なくてスマソ
0246デフォルトの名無しさん
NGNGつーか、その話題まだ引きずるの?
0247デフォルトの名無しさん
NGNGひとりごとだ、スマソ
0248デフォルトの名無しさん
NGNG独 り 言 禁 止
0249デフォルトの名無しさん
NGNGそれは、Windowsの実装の話でしょ。
C一般の話じゃないよ。
0250デフォルトの名無しさん
NGNG前スレにstrcpy(str,NULL);やstrcpy(str,0);はOKみたいなことが書かれていたんですけど。
0251デフォルトの名無しさん
NGNGでも、一般的なPC環境はWindowsだよね
0252デフォルトの名無しさん
NGNGOS依存、処理系依存禁止
0253デフォルトの名無しさん
NGNGそんなこと気にしてるの、お ま え だ け だ よ
そんなこと気にしてるの、お ま え だ け だ よ
0254デフォルトの名無しさん
NGNGふ か わ り ょ う 禁 止
ふ か わ り ょ う 禁 止
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG'A':文字定数->int型として解釈される
"hoge":文字列リテラル:一文字一文字はcharとして解釈される
0257デフォルトの名無しさん
NGNGあれがないと、'ア'を渡したとき、
int c = 0x000000B1のままになってしまうから。
ではどうですか?
0258デフォルトの名無しさん
NGNG*strで参照するとintに拡張されますが。
0259デフォルトの名無しさん
NGNGWinで1バイトの引数を4バイトの領域を使って渡してるのを、
↓これと、混同してるわけ?
>221 :デフォルトの名無しさん :02/10/27 03:09
>関数の引数として渡すと char、short は int に float は double に自動的に変換されるのです
0260デフォルトの名無しさん
NGNG結局俺は、c = (char)c; が必要かどうか、わからんかった。
誰か、まとめてくれないか ?
0261デフォルトの名無しさん
NGNG混同ではないよ。
Windowsの規約。
0262デフォルトの名無しさん
NGNGでも受けれたりするのを考えれば >>221 は自ずと分かると思いますが
ダメでしょうか?
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGだからCの話と関係ないじゃん。
0265デフォルトの名無しさん
NGNG?
0266デフォルトの名無しさん
NGNGそれこそ中でキャストしているだけじゃ・・・
0267デフォルトの名無しさん
NGNGこの話は、それとは違うじゃん。
0268デフォルトの名無しさん
NGNGそれを書いたものだが、そんなことしてOKなんて一言も書いてないぞ。
ただしやっていかんとも書いてない。なぜなら、その時の議論には
全く関係のないことだったからだ。
0269デフォルトの名無しさん
NGNG必要。
0270デフォルトの名無しさん
NGNGキミもしつこいね。
0271デフォルトの名無しさん
NGNG0x111 のような文字とは思えないデータでも文字データとして扱うなら必要
文字とは思えないデータははじいてしまうなら不要
という事でよろしいか?
0272デフォルトの名無しさん
NGNG理由書けバカ。
0273デフォルトの名無しさん
NGNG渡された引数の型が分からないのにどうやってキャストするのさ?
0274デフォルトの名無しさん
NGNGあんな、プロトタイプが与えられてない場合と、不定数引数の場合だけ
charがintに昇格するなどの暗黙の処理が入るんだ。
不定数引数ってのは、
int printf(const char *, ...);
みたいな関数の...の部分な。
0275デフォルトの名無しさん
NGNG君、勉強不足だね。
0276デフォルトの名無しさん
NGNG717 :デフォルトの名無しさん :02/10/25 16:37
char a[100];
/* 配列に空文字列をセットする3つの方法 */
strcpy(a, NULL);
strcpy(a, 0);
strcpy(a, "");
どこが関係のないことだ?NULLを渡すと空文字レスがセットされると書いているが?
0277デフォルトの名無しさん
NGNG教えてもらいたかったら、土下座しろ。
0278デフォルトの名無しさん
NGNGだから、>>242 にも書いたけど、ないとまずい理由を書いてよ。
0279デフォルトの名無しさん
NGNG%fならdoubleに、%dならintにキャストすればいいだろ。
0280デフォルトの名無しさん
NGNG今モニタの前で土下座してます。
0281276
NGNG○ 空文字列
0282デフォルトの名無しさん
NGNG( ゚д゚).......
0283デフォルトの名無しさん
NGNGすまんすまん、おれが書いたのは
http://pc3.2ch.net/test/read.cgi/tech/1035211039/742
だ。
0284デフォルトの名無しさん
NGNG*strがintに拡張されるのはint型の変数と比較するからだろ。
文字列リテラルの型とは関係あるのか?
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGあれは何をやってんだろう。
0288デフォルトの名無しさん
NGNG45のソースではc=(char)c;が無いと、仕様どおり動かないから。
0289デフォルトの名無しさん
NGNGキャストってのはね、「元の型」と「キャストする型」の両方が分かってないとできないのよ
0290デフォルトの名無しさん
NGNGパソコンユーザ全体だと確かにおっしゃる通りなのですが、
プログラマの仕事の環境となると、ハードウエアはPC/AT互
換機が現在では一般的といえたとしても、OSは、wnidowsが
そこまでの一般性があると言い切るのは少し抵抗があります。
しかし、実勢としては、windowsしか知らないユーザ/プ
ログラマがそのように感じたり言ったりすることが間違いだ
とことさらに否定するほど、windowsの存在は小さなもので
はないので、微妙ではありますね。
何ごとも、ひとたび多数派となれば、その他の世界を知ら
ないか無視してしまう人も出てくるのは避けられないわけで、
その意味では今はwindows”専門”ユーザ/プログラマが目
立ってしまっているのは事実です。
0291デフォルトの名無しさん
NGNG> 0x111 のような文字とは思えないデータでも文字データとして扱うなら必要
それ余計にまずくない ?
0292デフォルトの名無しさん
NGNGその 「仕様」 の文またはポインタをキボンヌ。
0293デフォルトの名無しさん
NGNG何で、具体的に書いてくれないの ?
どう言う仕様に違反するのさ。
0294デフォルトの名無しさん
NGNG0x3131 を指定しても '1' として扱うのが仕様なのか?
0296デフォルトの名無しさん
NGNG環境が普及してるかどうかって問題じゃないんだけど…
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNGデファクトスタンダードって言葉がある。
0300デフォルトの名無しさん
NGNGつーか、「一般的なPC環境はWindowsだよね 」と言うのは、まあ当たってると思う。
しかし、C で作られたプログラムの一般的なプラットフォームが PC と言うのは了見が狭すぎ。
0301デフォルトの名無しさん
NGNGhttp://www.mkssoftware.com/docs/man3/strchr.3.asp
自分で探しなよ。
googleで検索したら一番上にあったよ。
0302デフォルトの名無しさん
NGNGsoでもおんなじですが。
0303デフォルトの名無しさん
NGNGCの規格にそんな言葉はありませぬ。
0304デフォルトの名無しさん
NGNGでも、規格はデファクトスタンダードによって作られる。
0305デフォルトの名無しさん
NGNG> 漏れはマズイと思う。
だったら、c = (char)c; はいらないんじゃないの ?
> でも実際、漏れが 0x111 を指定して strchr() を呼ぶ事はないから問題ない。
と言うなら、特にね。
(何で、これで「必要」と言う結論に至るのか理解できん...。)
0306デフォルトの名無しさん
NGNG少しは頭使え
少 し は 頭 使 え
0307デフォルトの名無しさん
NGNGint hoge(char c);
この関数の引数が、符号拡張されて渡されるなんて言うのは、
議論の余地なく間違ってるよ。
0308デフォルトの名無しさん
NGNGhttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/strchr.3.html
こっちは書いていないけど。
linux向けとはいえ、標準関数はきちんとANSIに乗っ取って書いてあるはず。
0309デフォルトの名無しさん
NGNG0x80-0xffを指定したときに、仕様通りに動作しないから
0311デフォルトの名無しさん
NGNGネタですか?
0312デフォルトの名無しさん
NGNG309 は >>168 を試してないだろ。黙れ。
0313デフォルトの名無しさん
NGNG気のせいですか。
0314デフォルトの名無しさん
NGNGそれは記述が省略してあるんじゃない?
0315デフォルトの名無しさん
NGNGそんな 1 プラットフォームの実装なんか見せられたって意味ないよ。
ANSI ではどうなってる?
0316デフォルトの名無しさん
NGNG気のせゴホッゴホッ。。
0317デフォルトの名無しさん
NGNGchar *str="\xff";
if(strchr(str,0xff)) とやると偽になるってこと?
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNGネタですか?
0320デフォルトの名無しさん
NGNGネタですか?
0322デフォルトの名無しさん
NGNGANSIではcharでキャストするらしいよ。
0324デフォルトの名無しさん
NGNG> 「必要」 とは一言も言ってねえ。
はあ ?
>>271 「0x111 のような文字とは思えないデータでも文字データとして扱うなら必要」
自分の書いたことぐらい覚えておけ、ヴァカ。
> 第一、c = (char)c; が問題になるタイムクリティカルな局面では、
> C なぞ使わん。
タイムクリティカルだってさ。(藁
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGうん。今度試してみる。
0327デフォルトの名無しさん
NGNG真になるよ。
charが8ビットなら。
0328デフォルトの名無しさん
NGNGお言葉ですが、この中に何人C使いがいるとお思いですか?
0329308
NGNG> 標準関数に関してはANSIに乗っ取っているってば。。。
> もし拡張しているならきちんと明記してある
間違いなくそうなのか?
その根拠が示されてないっての。
>>322
情報へのポインタをキボンヌ。
0331デフォルトの名無しさん
NGNGすいません。馬鹿な素人ばかりでした。
■ このスレッドは過去ログ倉庫に格納されています