スポンサーサイト

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

動的メモリ割り当て

プログラム全文はこちら

今回は動的メモリ割り当てについてのメモ

動的メモリ割り当て = new でメモリ割り当ての事です(またはmalloc or calloc)
逆に静的メモリ割り当ては配列の事です

動的メモリは確保したら必ず解放しなければなりません(そうしないとずっとメモリが確保されたままになるため)

なので先にデメリットを言っておくと解放しなければいけない面倒さや下手するとバグの原因につながる面倒さが一番のつらいところです

が、メリットとしてはどんな長さの配列のように扱うことが可能という点ですかね


今回のプログラムは名前を入力しその長さ分メモリを取得すると言った単純なプログラムです
ここで配列で文字列を持ってきてもいいのですが名前はみなばらばらです
256文字もある名前の方はさすがにいませんが20文字を越える名前の方なら外国にいるかもしれません
それに反してTaroなんて名前の方がいるかもしれません

例として
「ベリー・へリントン」 = 必要なメモリサイズ:19
「タロ」        = 必要なメモリサイズ:5
となります。
(上記の名前は大文字なので2byte * xでタロの場合本来なら4byteですが文字列の末端には必ず\0が入ります
なので必要なメモリサイズは文字列の長さ+1したサイズとなります)


上記の例くらいならまぁ配列でもいいかってことになるかもしれませんがもし250文字以上の名前の方がいあにともかぎりません
しかし6文字程度の名前の人のために256文字格納できる配列を常に持っていたらすごくメモリの無駄だと思います

ということで必要となるのが好きな数のメモリが確保できる動的メモリ割り当ての技術というわけです


何度も言いますが動的メモリ確保したら必ず解放するように
スポンサーサイト
line

trackback


この記事にトラックバックする(FC2ブログユーザー)

まとめ【動的メモリ割り当て】

プログラム全文はこちら今回は動的メモリ割り当てについてのメモ動的メモリ割り当て = new でメモリ割
line

comment

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

line
line

FC2Ad

line
プロフィール

否健康食品オワタ

Author:否健康食品オワタ
27.142.178.77 (1)
27.142.178.77 (2)

2714217877.gif

line
最新記事
line
最新コメント
line
最新トラックバック
line
月別アーカイブ
line
カテゴリ
line
検索フォーム
line
RSSリンクの表示
line
リンク
line
ブロとも申請フォーム

この人とブロともになる

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