- 1 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 14:52:45 ]
- このスレは標準C規格や規格に合致した移植性の高い記法・技法に関するスレです。
C言語初心者の初歩的な質問、GUIなどの標準Cではできない事の質問、 ソース丸投げ、宿題、書籍 などは専門の別スレッド↓があるのでそちらへ。 C言語なら俺に聞け(入門篇) Part 24 pc11.2ch.net/test/read.cgi/tech/1201083176/ 【初心者歓迎】C/C++室 Ver.47【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1200464091/ C/C++の宿題を片付けます 103代目 pc11.2ch.net/test/read.cgi/tech/1200318925/ 【書き込む前に】 ・まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しましょう。 ・質問する前には最低限検索を。 ・エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。 【参考文献】 C FAQ 日本語訳 www.kouno.jp/home/c_faq/ Cプログラマ必読 ・プログラミング言語C(通称 K&R) www.amazon.co.jp/exec/obidos/ASIN/4320026926/250-7563469-9920244 【このスレのログ】 前スレ:pc11.2ch.net/test/read.cgi/tech/1190261457/ 他の過去ログ:nssearch.hp.infoseek.co.jp/clang/ 【このスレ住人としての心得】 わざとスレ違いあるいはごく低レベルな質問を繰り返して 流れを妨害する荒らしがいます。適当に誘導して放置してください。
- 809 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 22:29:36 ]
- そだね。
- 810 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 22:32:37 ]
- CとC++でcharの扱いが全く違うことは、
まあスレ違いなんで知らなくてもいいけど、 Cのcharがintegral typeでintegral promotionの対象、 ANSIでも"as is"が認められているだけってことは知っておかないと。
- 811 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 23:44:30 ]
- >>809
適当なことを言わないように
- 812 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 08:00:10 ]
- Cの言語仕様というと、俺はいまだにK&Rなんだが。
- 813 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 22:59:50 ]
- >>788
どうせおもいっきり環境依存なんだから、 面倒なことしないで、 char a[4]; にセットして *(int*)a で読んじゃえ。
- 814 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 23:08:51 ]
- >808
> になるわけですが、u.m1とu.m2の表すobjectが同じものと考えれば、 とあるが、共用体のメンバに対応するオブジェクトはすべて同じなのか? 大きさも型も違うのに。 むしろ同じアドレスだけど、オブジェクトは別と考えるのが自然だと思う。
- 815 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 23:15:21 ]
- static_assert(期待通りの値が入ってるかどうか) をどっかに入れておけばいい。
- 816 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 23:15:40 ]
- >>813
strict aliasing rule違反じゃね?どうなの?
- 817 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 23:30:28 ]
- >>816
大丈夫なCPUとダメなCPUがある。 x86系は大丈夫。 逆の方が適用可能な範囲が広いか。 int a; を ((char*)&a)[0〜3] で書く。
- 818 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 02:58:14 ]
- >>816
違反。 逆に int a; を用意して (char*)&a 経由でセットし、その後 a を読むのなら OK 。
- 819 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 00:23:29 ]
- なんでC言語には累乗計算の為の演算子がないのですか?
- 820 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 00:43:38 ]
- 累乗計算命令を積んでるCPUが少ないからだ
|

|