- 1 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:45:25 ]
- C言語の入門者向け解説スレです。
・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 9 pc11.2ch.net/test/read.cgi/tech/1173284217/ 過去スレ Part 1 pc8.2ch.net/test/read.cgi/tech/1146700389/ Part 2 pc8.2ch.net/test/read.cgi/tech/1153818463/ Part 3 pc8.2ch.net/test/read.cgi/tech/1160682950/ Part 4 pc8.2ch.net/test/read.cgi/tech/1162999861/ Part 5 pc8.2ch.net/test/read.cgi/tech/1165022193/ Part 6 pc10.2ch.net/test/read.cgi/tech/1167325490/ Part 7 pc10.2ch.net/test/read.cgi/tech/1170064980/ Part 8 pc11.2ch.net/test/read.cgi/tech/1171946674/ 関連スレ C/C++の宿題を片付けます 84代目 pc11.2ch.net/test/read.cgi/tech/1172981618/ くだすれC言語(初心者用) Part.2 pc11.2ch.net/test/read.cgi/tech/1172099763/ 【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 131 pc11.2ch.net/test/read.cgi/tech/1170338926/ 【初心者歓迎】C/C++室 Ver.35【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1171888583/ 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
- 29 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 13:26:31 ]
- 21ですがおかげさまでできました。
参考書の例文に「else{ 処理n;}」と書かれてたので↑でやってたのですが、 どうやらnはn番目という表記だったようですね。勘違いしてたみたいです。 ありがとうございました。 また聞きに来るとは思うのですが、その時はよろしくおねがいします。
- 30 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 13:40:44 ]
- 1行にいろいろ詰め込むと、どのエラーかわかりにくくなるぞ。
- 31 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 17:15:05 ]
- for(;;;)
printf("\a"); と、ビープ音鳴らしまくったら、 ハードの方とかおかしくなったりします?
- 32 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 17:17:49 ]
- 音波振動によるダメージがあるかも
- 33 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 17:28:01 ]
- ねーよ。
- 34 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 17:29:11 ]
- >>31
デバッガで実行するなら兎も角、環境によってはかなり止めにくくなるからやめた方がいいよ。
- 35 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 20:05:15 ]
- >>31
ビープ音を聞き続ける人間というハードがおかしくなるかもしれない。
- 36 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 20:24:25 ]
- VisualStudio2005にしたけどVS2002の時のソース、コンパイル普通に通るんだね。。
(全て_s付きの物に変えないといけないかと思った。 けど唯一、経過時間のところでtime_tがどうとか言われて通らない・・
- 37 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 20:44:34 ]
- >>36
で、何が聞きたい? 解決策が知りたいならエラーメッセージをコピペしてちょ
- 38 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 20:55:31 ]
- VC++ 2005のtime_tは通常64ビットになったが、
_USE_32BIT_TIME_Tを定義しておくと今までどおり32ビットになる。 試しにプロジェクトオプションでそれを追加してみたらどう? でもこうすると当然2038年問題の影響を受けることになるから、 それで動くようになったとしても早めに直せよ。
- 39 名前:36 mailto:sage [2007/03/20(火) 21:06:26 ]
- >>37すまそ、>>38の言うとおりにしたらコンパイルできたよ。。
ただの実行日時(JST)と経過秒数が出るだけの、 2038年まで使う予定もないテストプログラムだから別に今はいいや・・orz
- 40 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 21:19:32 ]
- /*sample49.c*/
#include <stdio.h> int main (void) { printf("%s %d %d\n", str, &str, &(*str)); str = "日本語"; printf("%s %d %d\n", str, &str, &(*str)); return 0; } strが未定義のシンボルと判断されてしまうのですが、どこがいけないのでしょうか? ポインタ変数を使ってアドレスをを表示させるというのをやっています。
- 41 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 21:22:38 ]
- char* str;
がなくね?
- 42 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 21:22:47 ]
- /*sample49.c*/
#include <stdio.h> int main (void) { char *str = "abc"; printf("%s %d %d\n", str, &str, &(*str)); str = "日本語"; printf("%s %d %d\n", str, &str, &(*str)); return 0; }
- 43 名前:デフォルトの名無しさん [2007/03/21(水) 21:24:03 ]
- >>40
strを宣言してください char *str;
- 44 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 21:28:37 ]
- 3人も同時にレスありがとうございます。
「char* str」を書いたら大丈夫でした。 参考書通りにやったのに駄目だったのでほんと助かりました。
- 45 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 21:31:47 ]
- さあ、その参考書名・著者をさらすんだ。
- 46 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 21:32:54 ]
- 普通に1文わすれてただけっぽ〜い
- 47 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 21:34:32 ]
- 実は図書館で借りた本で、既に次版で修正されてるとか正誤表に載ってるとか
そうじゃなかったら その参考書名・著者をさらすんだ。
- 48 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 21:36:55 ]
- 「次のプログラムの空欄に適切なコードを入れなさい」って穴埋め問題の宿題なんじゃないか?
(と、かんぐってみる)
- 49 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 22:00:48 ]
- なんかレスいっぱいついちゃってますね。
著者が坂下夕里さんの「これならわかるC 入門の入門」ってやつの194Pです。 2006年7月5日の初版第3版だそうです。 値段は1,600+税。
- 50 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 22:14:39 ]
- ttp://www.seshop.com/book/qa/Default.asp?mode=list&pid=6007
ミスみたいだな 著者が答えてる部分が>>42そのままなんだけど
- 51 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 22:17:17 ]
- 入門書なんて書くと
BCCがインスコできませんとか パスが通せませんとか VC++で実行したらいきなり画面が閉じましたとか 見るだけで嫌になるFAQがいっぱい来るんだろうな・・・
- 52 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 23:14:00 ]
- C99以前の規格で質問です
変数の宣言はブロックの最初でなければならないとのことですが、 void hoge(void) { int i; //なんだかの処理 for(i = 0; i < 10; i++) { int value;//←ここで変数宣言 //なんだかの処理 } } 上記のvalueの変数宣言はOKでしょうか? 関数の最初に変数が宣言できることは覚えているのですが、ブロックの中でもfor文などの中の先頭で宣言できるのか忘れて島しました 手元にあるコンパイラだと、独自拡張されているのか、処理中の変数宣言もOKになってしまいます。 よろしくお願いいたします。
- 53 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 23:16:01 ]
- ブロック先頭での変数宣言はOKです
- 54 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 23:24:28 ]
- for文の{}もブロックっていうんじゃないのか?
- 55 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 23:26:01 ]
- 途中に { } 入れて宣言してたこともあったなあ
- 56 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 23:30:46 ]
- まだ初心者だった頃caseの後でなぜ宣言できないのが不思議だった。
- 57 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 23:59:41 ]
- 特定のcaseだけでしか使わないローカル変数を定義したくて
case xxx: { } なんてすることもあるかもしれない。 とりあえず52はブロックという言葉の意味を正しく知るべき。
- 58 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 07:53:00 ]
- レガシーCでは通るがC++では通らない(かも知れない)コード。
switch (0) { int i; case 0: printf("foo\n"); case 1: for (i = 0; i < 10; ++i) { printf("%d\n", i); } }
- 59 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 16:56:55 ]
- /************************************************************************/
/* ぬるぽ */ /************************************************************************/ ↑こういうコメントをVisualStudio2003を使って楽に入力する方法ってありませんか? /*********************************************************************/ って部分はIMEに登録(60文字超えるんで前半部分と後半部分に分けて)したりしてるんですが、 二行目の/*の自動挿入とか文字列の中央ぞろえとか終端の*/の入力の仕方がわかりません
- 60 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:05:14 ]
- 文字列の中央揃えや終端の*/の位置調節などといった
無駄なことはやめた方がいい
- 61 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:10:23 ]
- 確かに
考えるだけ時間の無駄
- 62 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:20:56 ]
- エディタをvimを使うようにしてmapで登録すればいいIDEのエディタは総じてくそ
- 63 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:22:12 ]
- Sakura等のマクロ使えば一発なのに・・・
- 64 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:25:16 ]
- IDEのエディタは総じてくそ
- 65 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:32:22 ]
- vimのcindentのオプション使ってると、勝手にコメントの * を揃えてくれるから
/***************************** . * コメント . *****************************/ . ↑ここを揃えてくれる こんな書き方してるけど、これって一般的な書き方なのかな? コメントの書き方で定番みたいなものはあるんかな…
- 66 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:32:45 ]
- >>59
GreatCode でディレクトリ内のソースコードを一括変換すると楽 表記の揺らぎもなくなるし
- 67 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:04:04 ]
- >>65
次のようなコメントを見かける。 #等幅に見せるために2バイト文字に変換済み。 /*******/ /*□ぷげら□*/ /*□もげら□*/ /*******/ /******* □*□ぷげら□* □*□もげら□* □*******/ /*******\ *□□ぷげら□□* *□□もげら□□* \*******/ /******* □*□ぷげら □*□もげら □*******/ /******* □*□ぷげら □*□もげら □******* □*/ /* □******* □*□ぷげら □*□もげら □******* □*/
- 68 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:33:45 ]
- 先ほどCを始めたのですが,いきなり行き詰ってしまいました.
逆斜線ってどうやるのでしょうか? \で代用すればいいのでしょうか? お願いします
- 69 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:36:03 ]
- いいです。半角でな
- 70 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:37:52 ]
- >>69
ありがとうございます!!
- 71 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:57:17 ]
- >>65
定番のコメント記法をただ探すんじゃなくて、 定番のドキュメント生成ツールを探して それが要求するコメント記述方式に従うのがいいと思う。 勝手に*を揃えてくれるのだって、 ドキュメント生成ツールを意識した動作だろうし。
- 72 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 20:20:22 ]
- >>65
そういうコメントは、ファイルの先頭で使うくらいだな。 いっぱい使ってると、かなり素人くさい。
- 73 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:38:30 ]
- 玄人好みのコメントplz
- 74 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:40:54 ]
- /* You are not expected to understand this */
- 75 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:44:06 ]
- コメントに罫線やら装飾の多いヤツは素人。
- 76 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:45:05 ]
- >>74
訳するとこんな感じ? /* あなたがこれを理解できるなんて期待してないです */ /* これ見ても分からないっしょ? */ /* 分かるかな〜? 分かんね〜だろ〜な〜 */
- 77 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:56:24 ]
- VC++ って VBA マクロ使えなかったっけ?
- 78 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:04:57 ]
- */の位置を気にして半角スペースを駆使するような奴は負け
端的に言えば>>59なわけだが
- 79 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:08:29 ]
- 40カラム〜80カラムは問答無用でコメント、という規約のプロジェクトがあった。
- 80 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 23:25:36 ]
- カラムなんて言葉を聞くと
FORTRAN を思い出して嫌になる
- 81 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 23:58:35 ]
- >>79
某大手が未だにそんな規約を持っている。 極悪なのは、関数内の最初のインデントと二段目のインデントの量が違うと言う……
- 82 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 00:16:15 ]
- つ c-set-offset
- 83 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 01:23:11 ]
- /*******************************
* 俺はよくこれを目にするんだが * たぶんずれるからポップうp * >>83 */
- 84 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 01:27:09 ]
- >>83
を使え。
- 85 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 13:01:51 ]
- 俺も>83形式だなー
但し一行目の * の数は5個固定で、その右にコメントの頭を入れるんだが。
- 86 名前:65 mailto:sage [2007/03/23(金) 20:15:44 ]
- コメントにも色々あるんもんですね
>定番のドキュメント生成ツール これってDoxygenみたいなやつですか?
- 87 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 20:32:55 ]
- doxygenは /** で始まり */ で終わるコメントにも対応しているな。
俺は大抵/*! 〜 */を使うが。
- 88 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 20:41:15 ]
- javadoc形式に対応してるんだっけか
- 89 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 00:38:26 ]
- どうして構造体はmain外のグローバルなところに書くのが多いのでしょうか
- 90 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 00:39:14 ]
- main の外で使うから
- 91 名前:・∀・)っ-○◎● mailto:sage [2007/03/24(土) 00:40:34 ]
- 関数内で定義したら関数内でしか使えないから
- 92 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:35:21 ]
- doxygenは///や//!にも対応しているからC99なら///で書ける。
- 93 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 12:08:14 ]
- xmlコメントにも対応してるんでしょうか?>doxygen
- 94 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 13:17:26 ]
- //コメントを/*コメントに変換するツールないかなぁ。
// printf("///"); // return 0; /* ぬるぽ */ こんな行のこと考えると結構面倒だ。
- 95 名前:・∀・)っ-○◎● mailto:sage [2007/03/24(土) 13:30:53 ]
- つPerl
- 96 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 13:35:01 ]
- >>95
Perlで書いても面倒だと思うんだけど。 そもそも今時規格に乗っ取ってないという理由で//コメントを禁止する某芝の某氏が阿呆だと思うのだが。 つーか、人には禁止しておいて自分では使ってるしおまけにprintf()で"%lf"なんか使うし……
- 97 名前:・∀・)っ-○◎● mailto:sage [2007/03/24(土) 13:37:51 ]
- そこでJIS-X 3010:2003ですよ
- 98 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 13:39:17 ]
- エディッタなりIDEなりの機能使ってマクロ組めばいいよ
エンター押した瞬間にその行の文字列評価して置き換えるようにすりゃ手軽
- 99 名前:・∀・)っ-○◎● mailto:sage [2007/03/24(土) 13:41:26 ]
- 他人の書いたコードの整形を自分好みに直すためだけにxyzzy使ってる
- 100 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 13:48:54 ]
- 取り敢えず、//→/*と$→*/を変換して>94に挙げたような怪しげな行をリポートするスクリプトをawkで作った。
リポート行を(コンパイラのエラーと同じように)xyzzyで取り込んでタグジャンプすれば後は手作業で何とか、かな。 >>97 kwsk >>98 30ファイル30000行もあるとやってられない。 >>99 私も普段使っているのがWin2kなのでWinSCPのエディタをxyzzycliにしてLinuxのファイルも整形して読んでる。 #編集はvimですることが多いけど。
- 101 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 13:52:50 ]
- //コメント禁止って酷いよね・・・
- 102 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 14:01:15 ]
- /* */ 使われてるから、全体的に広くコメントアウトしたい場合、#if 0 〜 #endif を使うが
そんな環境に限って VC6.0 だったりするから色が変わってくれない
- 103 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 14:11:53 ]
- そういうスクリプトや小物ツールを自前でサッと組めるようになりたい・・・
- 104 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 15:04:29 ]
- >>103
生の//を変換するだけで、/* // */ とか "//" を考慮しなくていいならawkでこれだけ。 一応、/* *//* */は大丈夫。 awk '/[^*]\/\// || /^\/\// {sub("// *", "/* "); sub(" *$", " */");} {print;}' 実際には他にも、3個以上の/の連続ををどうするとか、//で終わる行をどうするとか、 行頭//が複数行続いたらどうするとか、考え始めると切りがない罠。
- 105 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 15:26:10 ]
- /**********************************/
はまだいいとして、 右側をそろえて */ するのって意味あるんかいな? 本当に重要な内容を書きにくくするだけなんだが。 100歩譲っても /********************************** * ほげほげ **********************************/ あるいは /////////////////////////////////// // ほげほげ /////////////////////////////////// って社内で言ったら「右をそろえたほうが見やすい」といわれた。
- 106 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 15:29:47 ]
- 社内にはプロポーショナルフォントで組んでる変態とかいるから、
行頭のインデント以外は桁をそろえるようなことはしないなあ。
- 107 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 15:41:32 ]
- 右端を揃える奴はキモイ
どれぐらいキモイかっていうと GNUのコーディング規約の中括弧の1000分の1くらい
- 108 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 15:47:44 ]
- 入門編にいる僕にはわかりません><
- 109 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 16:04:10 ]
- 最近のエディタならコメント部分の色が変わるのが普通なんだからわざわざ
/********************************** * ほげほげ **********************************/ とかやってコメントを目立たせる必要はないんじゃまいか。 /* * ほげほげ */ で充分ですよ。解ってくださいよ。
- 110 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 16:06:19 ]
- >>105
漏れのところでは、「右側を揃えたいなら揃えてもいいから、間違ったコメントを書くな」という方針にした。 で、実際に不適切なコメントをリリース版に残した香具師には右側揃え禁止措置を取った。 ……そして誰も右側を揃えなく(揃えられなく)なった。
- 111 名前:・∀・)っ-○◎● mailto:sage [2007/03/24(土) 16:17:29 ]
- >>100
ISO C 1999のJIS版 //コメントは仕様に入ってるし%lfも全力でおk
- 112 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:36:53 ]
- >>109
色がついてなくても、下ので十分だよ。 行頭になんか印がついてれば、すぐわかるだろ。
- 113 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:38:19 ]
- /*
これでもいいかゐ? */
- 114 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:40:30 ]
- それで十分
- 115 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:42:56 ]
- >>113
それはだめ。
- 116 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:45:32 ]
- なんで?(^ω^;)
- 117 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:49:15 ]
- /*
* じゃあこれからコメントの標準はこれで。 */
- 118 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 03:33:32 ]
- >>116
grep で引っかかったときにコメントかどうかが判らないから。 とはいえ、1行でも全部みれば判るけどね。
- 119 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 04:25:36 ]
- おまえら楽しそうだなw
おれも楽しいけどw
- 120 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 05:17:34 ]
- #ifdef _DEBUG
#define DEBUG_ONLY #else #define Paste(a, b) a##b #define DEBUG_ONLY(fn) Paste(/, *) fn Paste(*, /) #endif こんなマクロを作ったんだが、これって邪道?
- 121 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 05:26:30 ]
- >>120
自己レスだがどう考えてもこっちの方がいいです。 本当にありがとうございました。 #ifdef _DEBUG #define DEBUG_ONLY #else #define DEBUG_ONLY(fn) #endif
- 122 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 07:55:21 ]
- 漏れはこんなの作ってみた。
#ifdef DEBUG #define IF_DEBUG 1 && /**< 常に有効 */ #else #define IF_DEBUG 0 && /**< 常に無効(このマクロの右辺は生成されない) */ #endif 警告は出ちゃうけどね。
- 123 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:59:08 ]
- 俺はいつもこれ使ってる。
release 時は最適化で消えるはず。 #ifdef NDEBUG #define DEBUG if(1); else #else #define DEBUG if(0); else #endif
- 124 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 13:00:58 ]
- 俺は C で書く時は // は使わんな。
-ansi -pedantic -Wall で警告すら出ないように ガチガチに書くようにしてるから、 // 使うとエラーになる。
- 125 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 13:12:05 ]
- そこで-std=c99ですよ
- 126 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 13:48:50 ]
- わざわざCで書く理由ってのは移植性やpoorな環境の問題、レガシーコードの
保守などがメインだと思うんだが…… C99なんて使う機会あるか? C99使えるぐらいならC++が使えないか?
- 127 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 13:57:34 ]
- int (*f(int argc, char* argv[]))(int argc, char* argv[]), (main);
↑ こういう変態な書き方ってどうやったら読めるんすか? っていうか何やってるんすかこれ?
- 128 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 16:49:49 ]
- >>127
mainの再宣言のようだけど
- 129 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 21:23:21 ]
- Filename_ni_comment_wo_kakeba_iijyo.c
|

|