FC2ブログ
人生ずっと勉強。
ITを軸としたT型人間になりたい人のブログ。
11 | 2018/12 | 01
S M T W T F S
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ダングリングポインタ。
ダングリングポインタっていうものをはじめて知った。

ダングリングポインタは、オブジェクトを削除あるいは解放したときにポインタの値を初期化しないことにより生ずる。あるオブジェクトが削除あるいは解放されたとき、そのオブジェクトへのポインタが指す値は、まだ削除あるいは解放される以前のオブジェクトを指している。ポインタはすでに削除あるいは解放されて無効になったオブジェクトを指しているため、その後にこのポインタの値を使うと何が起きるかはわからない。



wikipediaの例をみる。

{
char *dp = NULL;
/* ... */
{
char c;
dp = &c;
} /* c falls out of scope */
/* dp is now a dangling pointer */
}


c は内側のブロック内でのみ有効。なので内側のブロック抜けた後の状態は不定。
このとき dp は不定なものを指したまま→これがダングリングポインタ。

ほかにもwikipediaにいくつか事例が載ってる。
スポンサーサイト

コメント

コメントの投稿














管理者にだけ表示を許可する


トラックバック
トラックバック URL
http://kiyotakagoto.blog3.fc2.com/tb.php/46-c1958dd6
この記事にトラックバックする(FC2ブログユーザー)

わたくし

いろいろリンク

カテゴリ

月別アーカイブ

最新記事

最新コメント

最新トラックバック

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。