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


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

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



1 名前:デフォルトの名無しさん [2013/04/22(月) 04:47:19.70 ]
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 113
toro.2ch.net/test/read.cgi/tech/1362824689/
★過去スレ
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++の宿題片付けます 164代目
toro.2ch.net/test/read.cgi/tech/1364700745/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
codepad.org/
ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

231 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 02:04:05.88 ]
>>228
問題のコードではmsgがNULLポインタだったらリターンしてしまうから
2行目が実行されることはあり得ない。

232 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 02:44:38.79 ]
>>231
msgがchar配列、ポインタが32bitの場合で、msg[0]==0でmsg[1]〜[3]のどれかに0以外が入ってるなら2行目行くんじゃね

233 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 07:59:37.32 ]
>>231
その問題のコードの1行目が要らなくねってレスがあったから説明したんよ

234 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 12:47:06.15 ]
>>225-226
ヒープ使っちゃいけなかったのか。
覚えとく、ありがとう

235 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 20:52:06.60 ]
>>234
ばっかみたいw

236 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 08:37:47.67 ]
組み込みってもOSレスからLinuxみたいなものまであるわけで

237 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 20:06:32.53 ]
死ねゴミw

238 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 21:00:28.73 ]
>>236
いきなりわけわかんないレスをするな

239 名前:デフォルトの名無しさん [2013/05/01(水) 03:30:10.77 ]
うるさいゴミ



240 名前:デフォルトの名無しさん [2013/05/01(水) 13:09:29.46 ]
a=f(x)+g(y);
これって、f(x)とg(y)のどっちが先に実行されるかって
仕様で決まってたっけ? それとも不定?

241 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 13:18:02.56 ]
不定です

242 名前:デフォルトの名無しさん [2013/05/01(水) 14:53:33.39 ]
>>240は馬鹿だから間に受けるぞw

243 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 14:54:27.12 ]
現在このスレは閑散としてるがQZがいつ自演質問を再開させるか分からない状態
ここ最近このスレで不正に宿題と思わしき質問が投下されたので注意が必要
監視を続ける

244 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 14:58:04.04 ]
>>240 >>241
にはこのコピペが最適↓

ネットでののQ&A見たら、何も勉強してこなかった
日本人の絶望的なほど劣悪なレベルを見せ付けられる想いだ。

質問者の意図も理解できないし、理解する姿勢に欠ける。
自分で確かめもしないで、思いつきで断片だけを回答する。
質問者も自分で解決したら、なにも示さず解決したという
コメントで終了する。
甘やかされて低脳さを遺憾なく発揮している。もう理系も絶望
的だから文系はどうかと思へば、悲惨のひとことだ。
もう日本の大学を折りたためよ文部省。

こういう自分でプログラミング言語を開発する極一部の有能な若者が、
浮いてただ利用されるだけで本当に気の毒だね。

245 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 15:30:02.88 ]
C言語でレジストリのeipやebp等の動きを表示したいのですが
どうやってみればいいでしょう?

gcc -S test.cだとアセンブラソースが作られてみれるんですがソースだけで肝心のトレース部分をみることができません
eipやebpやスタックの動きを見れるやり方教えてください

Windows7です

246 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 15:36:57.37 ]
>>245
>教えてください
情報に見あった金額が提示されてないのに誰が答えるの?

247 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 15:52:40.25 ]
>>245
Eclipse CDT入れろ
デバッガで見れる

>>246
カス

248 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2013/05/01(水) 15:53:37.24 ]
インラインアセンブラを使うのが簡単かなぁ。
インラインアセンブラで書いても gcc は最適化しちゃうんで、
最適化をオフにするか volatile 指定を付けるのが楽。

プログラム的に必要っていうのではなく、挙動を観察したいという場合ならデバッガを使った方がいいと思う。
gcc と連携しやすいデバッガと言えば gdb だけど Windows なら OllyDBG か Immunity Debugger が人気。

249 名前:245 mailto:sage [2013/05/01(水) 16:07:48.38 ]
>>247
わざわざElipseなんていらねーよバカが死ね

>>248
やっぱりgdbですか
インラインアセンブラはダサいのでデバッガのほうにしてみます



250 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 16:09:44.62 ]
>C言語でレジストリのeipやebp等の動きを表示したいのですが
レジスタ と読んでの前提

まさかデバッガを作りたい って話じゃないよな?

251 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 16:14:41.28 ]
>>247=基地害

252 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 16:34:30.42 ]
QZ急速な勢いで自演レス

253 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 17:28:19.21 ]
>>247が馬鹿の見本みたいで笑えるw
いや、馬鹿すぎて笑えないレベル

254 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 18:50:20.97 ]
結局入門書どれがいいんでつか?
高いから数買えないんです。・°°・(>_<)・°°・。

255 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:00:49.86 ]
eipとebpを見たんですが
leaveっていう命令でてこずってます

leaveって
mov esp,ebp
pop ebp

これと等価らしいんですが
gdbでトレースしてleaveをsiで実行してespを見たけどebpの値になりません
ebp=0xbffff4e8
esp=0xbffff4b8

leaveをやったら espはebpの0xbffff4e8になるはずですが
espは0xbffff4ecになります
何故ですか?教えてください

256 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:14:02.44 ]
enter/leaveなんて誰も使わないから忘れてよろしい
遅いだけ

257 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:16:31.23 ]
popしてるからだろ

258 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:17:59.00 ]
>>257
popする前に代入してますよね?バカ?

259 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:21:15.43 ]
中身の分からないバイナリファイルの中身を調べて型に合った変数に代入ことはできるのでしょうか?



260 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:23:40.28 ]
>>258
だから、代入してからpopしてるから
popでずれてんだろw

261 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:49:44.54 ]
変数に代入はできる

未知のフォーマットで書かれたものに対して
中身を調べて=バイナリの並びから 型に合ってるかどうかを知る術がない

262 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:25:49.04 ]
>>241
ありがとう
不定であってたのね

263 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:30:09.06 ]
sub関数 call時
esp=0xbffff4ec ebp=0xbffff508

コード
push %ebp 実行時
esp=0xbffff4e8 ebp=0xbffff508 スタックに0xbffff508

mov %esp,%ebp 実行時
esp=0xbffff4e8 esp=0xbffff4e8 スタックに0xbffff508

sub $0x30,$esp 実行時
esp=0xbffff4b8 esp=0xbffff4e8 スタックに0xbffff508

264 名前:デフォルトの名無しさん [2013/05/01(水) 20:30:25.46 ]
>>258
バカ

265 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:32:24.66 ]
>>263
途中からebpが行方不明になってるぞ

266 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:38:27.45 ]
>>627
3.5のパラグラフ3〜4と7.1.1のパラグラフ8を総合した結果だろうな
分かりづらいけど、例もあるし、少なくとも間違いはない

267 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:38:43.59 ]
>>265右のはebpねミス

leave 実行時
esp=0xbffff4ec ebp=0xbffff508

leaveの命令
mov esp,ebp
pop ebp

ebpをespにやるんだから espは0xbffff4e8になるはず 代入してる
popで最初にpushしておいたebpを取り出して ebpは0xbffff508であってるけど
espがなんでcall時の0xbffff4ecになる?

268 名前:266 mailto:sage [2013/05/01(水) 20:40:29.43 ]
誤爆・・・

269 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:42:12.93 ]
pushでespが動いてんのにpopで動かないと考えるこの馬鹿



270 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:43:29.12 ]
>>267
popしたらスタックポインタが動くのは当たり前だろ
popが何をするものか分かってるか?

というかスレ違いだ

271 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:48:35.19 ]
>>270
やっとわかった
espがスタックの末尾にあってプッシュやポップにあわせて常に変化するってことをわすれてた
だからpopしたときプッシュ前のアドレスになったわけね

272 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:50:25.84 ]
スレ違いだバカが死ね
って言ってやるべきだろ

273 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 22:03:20.07 ]
push %ebp

このpushされたebpアドレスはどこでみれんの?
info fってやっても表示されないけど

274 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 22:04:22.71 ]
ミス

このpushされたebpアドレスが保存されてるスタックって
縦長に見る方法ない?
こんなふうに

+++++++++++
ESP + 戻り値 +
+++++++++++
+ one +
+++++++++++
+ two +
+++++++++++
+ three +
+++++++++++
EBP + 基底 +
+++++++++++

275 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 22:17:43.80 ]
いい加減アセンブラスレに行け!

276 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 22:22:57.85 ]
C言語で聞いて

277 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 23:35:55.72 ]
i fでやったら
saved eip(戻り値アドレス)は表示されるけど
push %ebpが表示されない

プッシュされたものが表示できたら便利なのに表示できねーのか?クソだな

278 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 02:55:13.74 ]
アセンブラスレで聞いたらこのドシロウトが!ってバカにされるだろ
ここでやってればCしか出来ない奴にスゲーって思わせられるからいいんだよ

俺はずっとここにいるぜ

279 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 04:09:08.75 ]
なんか見覚えのある命令や数値が出てくるな
https://twitter.com/TreeBoa2/status/329628271329296385/photo/1



280 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 09:38:26.94 ]
ほらやっぱ自演だったろ

281 名前:デフォルトの名無しさん [2013/05/02(木) 13:44:19.46 ]
メモリ確保したポインタを解放した後NULLで初期化する関数myfreeを作りたいのですが、
以下のようにすると初期化されないので

void *myfree(void *p)
{
free(p);
p=NULL;
return;
}

仕方なく以下のようにNULLを返してますが、p = myfree(p)のようになり美しくありません
もっとスマートな方法はないでしょうか?

void *myfree(void *p)
{
free(p);
return NULL;
}

282 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 13:55:17.87 ]
>>281
#include<stdio.h>
#include<stdlib.h>
void *myfree(void **p)
{
free(*p);
*p = NULL;
return NULL;
}
int main()
{
char *p = (char *) malloc(123);
printf("%p\n", p);
p = myfree((void **) &p);
printf("%p\n", p);
return 0;
}

283 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 13:55:31.38 ]
ポインタへのポインタを使う方法じゃだめなの?
void myfree(void** pp)

284 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 13:55:55.12 ]
void myfree(void** p)
{
 free(*p); *p = NULL;
}

呼び出しで &付きになるからキショイ

285 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 13:58:33.76 ]
>>282間違った。

#include<stdio.h>
#include<stdlib.h>
void myfree(void **p)
{
free(*p);
*p = NULL;
}
int main()
{
char *p = (char *) malloc(123);
printf("%p\n", p);
myfree((void **) &p);
printf("%p\n", p);
return 0;
}

キショいね

286 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 14:04:25.21 ]
マクロの
#define MY_FREE(p) do { free(p); p = NULL; } while (0)
これも賛否ありそう

287 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 14:17:53.43 ]
>>283
規格上はダメ、ゼッタイ
voidポインタとそれ以外のポインタは互換性が保証されないので

あー、でも、charポインタと構造体共用体ポインタは互換性があったっけ?
まあ結局intポインタとかはだめだけど

だから、Cならマクロにするしかない
C++ならテンプレートにできるけど

288 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 14:33:07.57 ]
マクロにしなくてもp=free(p),NULL;でいいじゃん?

289 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 14:37:51.26 ]
>>288
>仕方なく以下のようにNULLを返してますが、p = myfree(p)のようになり美しくありません
>もっとスマートな方法はないでしょうか?
って話なので、その案は微妙な線?かな?



290 名前:281 mailto:sage [2013/05/02(木) 14:49:28.70 ]
皆さんどうもありがとうございます
&でポインタへのポインタを使う方法は、自分の環境ではコンパイルエラーになりました
(エラーの正確な内容は失念しましたが、構造体のサイズが不確定というエラーだったような)
関数に渡す時に(void **) でキャストすればエラーが消えるのでしょうか。
しかし>>287さんによると規格上ダメとのことなのでやめておきます

>>288さんの方法は初見でしたが、ポインタ名を二回記述するやり方はポインタ名が長い場合に不便なので1回にしたいのです
マクロを使う方法が一番よさそうなので、試してみます
どうもありがとうございます

291 名前:デフォルトの名無しさん [2013/05/02(木) 15:01:42.15 ]
「規格」ってタームが混ざってるだけで簡単に騙される>>290哀れwwwww

292 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:07:24.15 ]
>>291
アホはだまっとけ
www.kouno.jp/home/c_faq/c5/html#17

293 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:11:10.51 ]
ミスった
www.kouno.jp/home/c_faq/c5.html#17

294 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:19:56.16 ]
投稿前に確認すらできないゴミが「アホはだまっとけ」だってよ
やっぱゴミはゴミだな

295 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:30:43.47 ]
何かを実行する前に問題がないかを確認するってのはプログラマなら当たり前の手順なわけだが、
それができていないってことはプログラミングやる資格はないよ。

そしてそんな奴が調子に乗って回答してる。
>>292-293はこのスレのレベルがいかに低いかを身をもって示してくれている。
それでもまだここで質問するのはまともじゃないよ。

296 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:31:44.23 ]
そりゃ規格を一番に考えるだろう

297 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:42:30.38 ]
>何かを実行する前に問題がないかを確認するってのはプログラマなら当たり前
マでなくとも人間なら普通おおかた>>292は池沼か社会経験のないニートか学生風情

298 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:16:54.81 ]
使い終わったポインタにNULLを入れるのって、ヘタクソの習慣だよな。

299 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:20:21.38 ]
>>298
えっ



300 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:20:47.84 ]
リンクを貼るのってコピペするだけでミスの入り込む余地なんてないと思うんだけど、
携帯とかからわざわざ手打ちで貼ってんの?

301 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:28:55.60 ]
>>300
俺も思ったw
何をどうしたら間違えるんだろうなw

302 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:29:17.63 ]
>>298
それ以前にいちいちfreeすること自体が、設計ができない証。

303 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:30:23.01 ]
規制で携帯から手打ちなんだよ
察しろ

304 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:34:15.61 ]
>>302
いやいやfree()はするだろ。
free()のあとに機械的にNULLクリアするってスタイルはヘタクソ。

305 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:41:17.41 ]
こういうのを真に受ける人がいると思っているのかね
言動からしてレベルの低さが窺えるからスルーしかされないだろうに

306 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:44:30.84 ]
>>304
獲得したメモリをいちいち解放するなんて、
自分でメモリが管理できていない証拠じゃん。
設計ができていれば必要なメモリ量もわかるので
獲得した後解放するなんてありえない。

307 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:46:51.58 ]
ちょっと何言ってるかわかんないです

308 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:51:26.18 ]
がたがた言わずにmallocしちめえ!いらなくなったメモリはそのつどfreeだ!

309 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:53:40.79 ]
>>303
やっぱりそうか

ケータイから手打ちしてまで書き込みたいとか
>>292は自己顕示欲の塊かよw



310 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:54:07.62 ]
まっとうなプロダクツはじゃ、まず見ないスタイルだよね。
free()のあとにNULLクリアをするって規則のコーディング。

311 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:58:36.89 ]
まあポインタを使い回す事自体があまり良くはないからな
でも、全うな製品ならそれでもNULLクリアするのが普通だけど

312 名前:デフォルトの名無しさん [2013/05/02(木) 17:01:44.36 ]
うるさいゴミ

313 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:03:09.21 ]
「ヘタクソがいる現場だと有効だ」とか思われてるのかもしれないけど、
たぶん実際的な効果はなにも無いんじゃないのかね > NULLクリア

314 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:05:05.47 ]
NULLクリアしてるまっとうな製品って、どれのことだろ。

315 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:09:05.01 ]
安全性への意識の高さの問題だよ
NULL埋めしない人は経験上他も大体いい加減

316 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:15:52.65 ]
世間的に安定性とか評価されてるプロダクツでもべつにNULLクリアなんてしてないしな。

317 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:16:27.83 ]
安全性への意識て、ミスを根本的になくすことよりミスったときに誤魔化すことを優先すること?

318 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:18:55.52 ]
ポインタがNULLか非NULLかでフラグのような動作をさせるってのは
よくあるテクニックだよ。TLV式のプロトコル実装とか、当たり前のように
使ってるよね。

319 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:19:47.12 ]
free()した直後にポインタ変数の寿命がくるなら
nullクリアなんていらないけど
まだ使う気があるならnull入れておくかな
なんかバグったときにassertにひっかかってくれる



320 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:19:49.18 ]
NULLクリアを自動化しておけばバグが入った時の想定される原因の一つが消えるじゃん

321 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:20:59.00 ]
>>317
ミスを根本的になくすことと同時に
ミスったときにそれを確実に拾えること

可能なら対処する(ごまかす)のは別の話だね

322 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:22:15.95 ]
>>318
そういう話じゃなくて、ルールで機械的に、処理とか文脈とか関係なしにNULLクリアしましょうってのが是か非かって話。

323 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:26:44.74 ]
>>322
そんなの、その場の空気と宗教に従え、以上の答えあるの?
答えが分かったうえで議論の練習したい人とかfj.lang.cごっこしたい人は
別のスレでやってね。ぜんぜん入門編じゃないからね。

324 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:29:30.17 ]
>>323
逃げたwww

325 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:37:47.56 ]
>>322
是でいいと思うよ
ふつうにうしろに処理足される可能性あるし
なによりnull入れて困ることはないってのが
でかい

326 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:41:27.29 ]
free 時に 確保領域に書かれてる内容を適当にぶっこわしてくれる機構 がうれしい

ポインタを別変数にコピーしてたテヘッ 用だね

327 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:00:02.46 ]
NULLクリアって定数左と同じようなテクニックに見える

328 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:02:04.79 ]
>>327
それは頭悪いですね

329 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:10:30.05 ]
NULLを入れない場合→破棄後に参照しても動く事がままある
NULLを入れる場合→参照するとほぼ死ぬ

どちらがミスった時に誤魔化すことを優先しているかは一目瞭然
NULLを入れない方だ
NULLを入れない人は想像力が貧困で、プログラムには向いていない



330 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:18:09.46 ]
それ以前にfreeもしないって人は世界が違うんですか?

331 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:19:04.70 ]
おそらく神の領域に達しているのだろう






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

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

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