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


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

C言語なら俺に聞け(入門篇) Part 10



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

175 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 18:17:42 ]
>>173
釣りうぜえ

さっさとソース&エラーうpしろやクズが

176 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 18:19:13 ]
構造体作ってポインタ渡せばいいじゃん。馬鹿?

177 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 18:20:56 ]
あっ、すいません、変数名がかぶってたのが原因みたいです><
お騒がせいたしました

178 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 18:25:53 ]
同じ名前で大きさが違う配列に無理やり値を詰め込んだのが原因でした><
皆さん、本当にありがとうございました

179 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 18:32:16 ]
>>175
キレすぎだろw

180 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 18:43:32 ]
>>178
結果的に「釣りだった」という見解が・・・

181 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 18:45:46 ]
作り方が下手糞だと、ちょっとした間違いにも
気づきにくいという典型例だな。

182 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:06:36 ]
><ほんとうにすいませんでした

183 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:13:30 ]
特定の関数を特定の関数からしか呼び出せないようにすることって可能ですか?



184 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:21:42 ]
>>176
次からはよくつかう変数を
構造体に詰め込むことにします><
苦手意識のせいで気付かなかったです
アドバイスありがとうございました


185 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:28:48 ]
>>182
もしマジレスだったなら、謝る必要はないよ

186 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:29:58 ]
>>184
続けることが大事だから頑張って!^_^;マジレスならね・・・

187 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:33:40 ]
ところで>>170のいうように3000行を越えてるのに、
>>173でいうように関数が30個って少なすぎね?
もうすこし論理的意味単位で分割した方がいいと思うよ。

188 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:38:02 ]
>>183
呼ぶ側と呼ばれる側の関数だけからなるファイルを作って、
呼ばれる方はstaticにする。


189 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:38:30 ]
もう一つ質問しても良いでしょうか?
lccで行数の多い関数が入ったファイルをコンパイルすると
out of memory
とエラーが出るのですが
関数を短くしないといけないのでしょうか?><

190 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:41:50 ]
つーか、データの依存関係が強すぎだろ。

191 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:43:11 ]
>>189
LSICを使っているのなら、窓から投げ捨てろ。
あれは、関数を評価する為のコンパイラが使用するメモリ空間をたった32KBだか64KBだかに抑えている。

192 名前:183 mailto:sage [2007/03/30(金) 19:46:08 ]
>>188
関数に付けるstaticってこういう時に使うんですね、ありがとうございました

193 名前:デフォルトの名無しさん [2007/03/30(金) 19:54:31 ]
s03.2log.net/home/programmer/archives/blog38.html



194 名前:183 mailto:sage [2007/03/30(金) 20:02:13 ]
ついでで申し訳ないんですが、関数は何も指定しないと自動的にextern指定されるということでいいんでしょうか?

195 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 20:03:36 ]
そうでs

196 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 20:04:24 ]
>>194
いえす。
関数はファイルの外部から見える(extern)か見えない(static)かの2通りで
省略時はextern扱いされる。
外部に見せる必要がない関数は積極的にstaticを付けておくのはよい習慣。


197 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 20:05:10 ]
>>194
staticをつけない限り、そうなる。
従って、ソースファイル外から使いたい関数以外は無条件にstaticをつけた方がいい。
#最近のコンパイラはstaticな関数は積極的にインライン展開しようとすることだし。

198 名前:183 mailto:sage [2007/03/30(金) 20:08:08 ]
>>195-197
ありがとうございます、これからは習慣付けるようにします

199 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 20:11:46 ]
windowsから消しておきました><

200 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:16:58 ]
質問です

if( a[7] != 0 )
{
  cnt = 16 ;
  while( (a[0] & 0x0f) == 0 && cnt != 0 )
  {
    for( ct = 0 ; ct != 8 ; ct++ )
    {
      ((struct ST4bit *)&a[0+ct]->4bit_0
        = ((struct ST4bit *)&a[0+ct])->4bit_1 ;
      ((struct ST4bit *)&a[0+ct]->4bit_1
        = ((struct ST4bit *)&a[1+ct])->4bit_0 ;
    }
    ((struct ST4bit *)&a[7])->4bit_1 = 0 ;
    cont-- ;
  }
}

struct ST4bitはunsigned型で{4bit_0 ; 4bit_1}がメンバ(各4bit)

この時、このプログラムの意味することは、
a[0]〜a[7]で後ろ詰めに格納されているものを
前詰めにしている、というのでいいでしょうか?

またこうすればもっと簡単にできるというのがありましたら、ご教授お願いします。

201 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:29:41 ]
printfってプリントフって読むの?それともプリントエフって読むの?

202 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:42:20 ]
プリントエフがデフォ

203 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:36:15 ]
>200
forループの中でa[8]にアクセスしてるみたいだけど、いいの?



204 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:43:08 ]
>202
THX

205 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:48:21 ]
>>200
C言語じゃないよね?

206 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:48:25 ]
正式には プリント ウィズ フォーマット だっけ?

207 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:56:32 ]
はあ?

208 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:57:10 ]
>>200
鼻からなんか出る前に消してしまえ

209 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:58:29 ]
識別子の先頭に数字はないだろ・・・
常識的に考えて・・・

210 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:18:47 ]
常識というか、それが通るコンパイラがあったら是非私に知らせて欲しい。
頼んだぞ。

211 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:38:47 ]
識別子をプレゼントつ「unko_program」

212 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:41:37 ]
>>200
データサイズが膨大 or 組み込み用途 or 学習目的
のいずれでも無いならビットフィールド使うのをやめるのが吉

long long に対応しているコンパイラならシフト演算一回で終わる
※但し、データの並び順が変わるのに注意

213 名前:212 mailto:sage [2007/03/30(金) 23:47:05 ]
データの並び順が変わる

コンピュータのバイトオーダによってはデータの並び順が変わる



214 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:49:18 ]
標準入力のフラッシュは非標準らしいですが、
これをサポートしてない環境の例ってあります?
たとえば組み込み用の一部ではサポートしてないとかそういうのでしょうか?

215 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:52:04 ]
>>214
バッファリングしない環境では実装されてないってことは普通にあるかもね。

216 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:00:20 ]
ファイルをリダイレクトされた標準入力をフラッシュされたらどうなるんだって話があるしな。

217 名前:212 mailto:sage [2007/03/31(土) 00:02:43 ]
>>214
linux のターミナルだと使えなかったよ

218 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 13:00:19 ]
>>214
fflush(stdin)のことを言ってるならWINXPでできなかった記憶がある

219 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 16:29:09 ]
>>191
LSI-C の用途があなたの想定する用途と違うだけ

220 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 16:39:06 ]
>>219
MS-DOS用コンパイラをWindowsで動かす積極的な理由は何かある?
まさか、製品版のLSI-C80の話をしているわけじゃないよね?

221 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 16:56:08 ]
>>220
そんな理由はあるかどうか分からない
ただ DOS で動くプログラムがごく稀に必要になることはある

元になったレスは lcc って書いてあるから lsic86 とは関係ないっぽい

222 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 16:59:36 ]
制御系なら DOS の方が楽
リアルタイムOS として DOS を使う場合もある
再起動も早いし

223 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 18:50:53 ]
int ascii_to_integer(char *ascii) {
int i;
int integer;
for (i = 0; *(ascii+i) >= '0' && *(ascii+i) <= '9'; ++i)
integer = 10 * integer + (*(ascii+i) - '0');
return integer;
}

これってasciiをポインタと配列のどっちで書いたほうがいい? それともどっちでもいい?



224 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 18:51:40 ]
>>223
atoi 使うのがイイ

225 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 18:53:53 ]
>>223
ついでに変数 integer の初期化が必要

226 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 19:00:45 ]
>>223
そのasciiは、「『関数の仮引数』だから」
char *asciiと書いてもchar ascii[]と書いても、同じ。
char *asciiと書いたかのようにcharへのポインタ型として扱われる。

kmaebashi.com/programmer/pointer.html
www.kouno.jp/home/c_faq/c6.html

あと、'0'から'9'までの文字かどうかの判定にはisdigitが使える、というより使え。

そして勉強ならいいが、実用なら>>224

227 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 19:04:34 ]
>>221>>222
で、元質が制御系だとかDOSプログラムを作ってるだとか言う根拠は?
ちなみに、LSI-C86ならコンパイラの実行モジュール名がlccだな。
他にもlccはあるが、ちょっとした関数で音を上げることから察すればLSI-Cだろう。

228 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 19:20:05 ]
>>227
根拠も何も無い
DOS が好きなだけなんだ
だから DOS で使えるコンパイラが貶められるのが嫌だった
それだけ
好きなものは好きなんだ、理屈じゃないんだ!
そういうもんだろ?

229 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 19:21:00 ]
だったら、窓(Windows)だけ投げ捨てろ?w

230 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 19:43:33 ]
ここといい宿題スレといい争いが絶えませんね

231 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 19:56:23 ]
テキトーなことを言う奴が後を絶たないせい

232 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:11:57 ]
/* 期待する出力は ababababab */
#include<stdio.h>
/* こんな時 func_t はどんな型で typedef すればいいのしょうか? */
typedef void *(*func_t)(void);

func_t a(void);
func_t b(void);

func_t a(void){putchar('a');return b;}
func_t b(void){putchar('b');return a;}

int main(void){
func_t func=a;
int i;

for(i=0;i<10;i++) func=func();

return 0;
}

233 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:20:15 ]
どう見ても入門者の質問じゃありません。適切なスレへどうぞ。



234 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:24:41 ]
期待する出力はあばばばばぶ

>>232
typedef func_tA;
typedef func_tA (*func_t)(void);

func_tA a(void);
func_tA b(void);

func_tA a(void){putchar('a');return (func_tA)b;}
func_tA b(void){putchar('b');return (func_tA)a;}

int main(void){
func_t func=a;
int i;

for(i=0;i<10;i++) func=(func_t)func();

return 0;
}

これでうまくいったけど
たぶん改善の余地ありだろうな


235 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:29:44 ]
再帰みたいになるのか。

236 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:31:36 ]
いや戻りとして相手の関数ポインタを返してるだけだから再帰とは違うでしょ
自分が相手を呼び出してるわけじゃないし

237 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:34:55 ]
ポインタpに対して
p[2]が使えたんだけど
これは文法的にok?

238 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:38:42 ]
>>237
文法的にはok
論理的(規格の用件に合致する、正常に実行できるなど)な観点からは
okかどうかそれだけではわからない。

239 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:40:55 ]
func_t a(void);
void b(void);
func_t a(void) { putchar('a'); return b; }
これで、ここまで、ならば通る。

func_t b(void);
に変えると
typedef func_t (*func2_t)(void);
func2_t a(void);
にしなければならなくなる。

すると今度は・・・
難しいね。

240 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:41:08 ]
>>237
p[2] の領域が確保されていればおk

例.
int a[10]={0}, *p;
p=&a[3];
p[2]=0x1234; // p[2] == a[5] なので O.K.
p=&a[9];
p[2]=0x5678; // p[2] == a[11] なので N.G.

241 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:43:24 ]
大学でC言語を習った人がプログラマになってからよくやってしまう間違いや
効率の悪いプログラムの書き方とかあれば教えて下さい(-_-;)

242 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:45:58 ]
>>232 下でキャスト無しでいけるけど、関数の型が変わったらダメ?
typedef void *(*func_t)(void);
void *a(void){putchar('a');return b;}
void *b(void){putchar('b');return a;}

243 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:50:53 ]
しかし質問者が無反応なのが恐ろしい



244 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:50:57 ]
>>241
よくある失敗はバッファオーバーラン
効率の悪いプログラムの書き方は標準関数を自作してしまう

245 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:51:13 ]
strcpyの代わりにsprintfをよく使っちゃうけど問題ない?

246 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:52:55 ]
>>245
無いよ。

247 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:55:22 ]
>>244
よく自作しようとしてしまう関数って
どんなものがあるんでしょうか(-_-;)

248 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:59:44 ]
>>241
局所変数のポインタを返すとか。
値を受け取るための引数に未初期化ポインタを渡すとか。
てか、大学関係ない単なるC言語初心者か。

249 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:59:50 ]
>>245
sprintfはstrcpy並に問題ある。
バッファオーバーラン防止のため、snprintf使え。

250 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 21:00:51 ]
>>232 です

>>234
すみません。
キャストしなくても警告の出ない方法があればと思い質問しました。

>>239
そうなんです。ループしてしまうので宣言の仕方がわからないんです。

>>242
void * にすると代入する時の型チェックが無くなってしまうので
できれば関数の型を残したいです

251 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 21:05:28 ]
char a[]="1,2,3";
int i;
のとき
sscanf(a,"%d,%s",&i,a);
とか
sscanf(a,"%s,%d",a,&i);
って大丈夫?

252 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 21:11:24 ]
>>241
エラーチェックをしてないのも多い気がする
fopen が失敗したかどうかチェックしてないとか

253 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 21:15:17 ]
>>252
あぁ…確かにソケット通信のプログラムで
関数のエラーの戻り値を知らずに大変なことがありました(-_-;)



254 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 21:19:29 ]
>>247
文字列操作する時に多いと思う
str??? 関係 (strrchr strcat とか)
is??? 関係 (isdigit isalpha とか)
あと scanf 系の書式指定で対応できるところを自作するとか
printf の %*d 書式相当のものとか

255 名前:251 mailto:sage [2007/03/31(土) 21:23:45 ]
あと
sprintf(a,"%d,%s",i,a);
とか
sprintf(a,"%s,%d",a,i);
みたいに上書きしても大丈夫ですか?

256 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 21:26:15 ]
>>255
大丈夫じゃないです

257 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 21:32:25 ]
>>250
ん〜
無理じゃないかなぁそれは
typedef func_t (*func_t)(void);
こういう宣言が許されない以上キャストするかvoid *使うかしかないと思う
それ以前に関数ポインタを戻りとして返さないとダメかな?
つまりこういうのじゃダメ?

typedef void (*func_t)(void);
void a(void);
void b(void);
void a(void){printf("a");}
void b(void){printf("b");}
int main(void){
func_t func[]={a,b};
int i;
for(i=0;i<10;i++) func[i%2]();
return 0;
}

258 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 21:38:07 ]
>>257
無理なようですね。
書き方を変えることにします。

>>回答を下さった皆さん
どうもありがとうございました。

259 名前:255 mailto:sage [2007/03/31(土) 22:51:37 ]
>>256
sscanf(a,"%d,%s",&i,b);
sscanf(b,"%s",a);
とか
sscanf(a,"%s,%d",b,&i);
sscanf(b,"%s", a);
とか
sprintf(b,"%d,%s",i,a);
sprintf(a,"%s",b);
とか
sprintf(b,"%s,%d",a,i);
sprintf(a,"%s",b);
でやればいいんですかね?

260 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:58:07 ]
>>259
まあそうだが、
信頼できない入力に対して%sを使うのはバッファオーバーランの
危険があるから、やめといたほうがいいとはおもう

261 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 23:21:16 ]
>>260
%100.100sとか書けばええだけちゃうの?


262 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 23:28:14 ]
%as

263 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 23:37:43 ]
じゃこうだね
まあ練習用のプログラムだから

int ascii_to_integer(char *ascii) {
int i;
int integer;
integer = 0;
for (i = 0; *(ascii+i) >= '0' && *(ascii+i) <= '9'; ++i)
integer = 10 * integer + (*(ascii+i) - '0');
return integer;
}

*(ascii+i)とascii[i]ってどっちが普通? 括弧が少ない分, ascii[i]がよく使われるのかな?



264 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 00:48:55 ]
ascii[i];
の方が俺としては読みやすい

265 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 01:09:46 ]
C FAQを読んで
配列 = ポインタ + 書き換え可能なメモリー
じゃないことが分かった
さっきまでの自分が恥ずかしい

266 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 01:30:58 ]
行列の積を解くプログラム教えてください

267 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 01:37:56 ]
ttp://www.google.co.jp/search?q=%8Ds%97%F1%82%CC%90%CF+%83v%83%8D%83O%83%89%83%80&lr
別に煽ったりとかではないが
こんくらい、そのまんま検索ひっかかるよ。。。

268 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 01:41:10 ]
ヘッダの中にヘッダをインクルードするのは、
通常どういう見解ですか?Cソースだけにしたほうが良いですか?

269 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 01:47:31 ]
どういう見解も何も、必要だからインクルードしているんだろう。
インクルードガードはちゃんと付けとけよ。

270 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 01:53:27 ]
#ifndef _INCLUDE_ADD_
#define _INCLUDE_ADD_

//内容

#endif
>>269 おそらく、こうゆガードですね。有り難うございました。

271 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 02:26:34 ]
>>270
_INCLUDE_ADD_は予約済み識別子なので使わないほうがいい
使用すると未定義動作になる

272 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 02:57:15 ]
>>271
忠告どうもです。予約語意外にします。

273 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 03:00:38 ]
_で始まって大文字や_が続く識別子は全部予約されているので念の為



274 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 03:28:59 ]
>>257
i%2 -> i&1
のほうが速いかも

275 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 03:35:29 ]
>>272
最近は"予想外"が流行りらしいぞ。






[ 続きを読む ] / [ 携帯版 ]

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

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