掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
mallocで確保した領域の後に続けてreallocで領域を作るには? (ID:60823)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
何を訊いているのかさっぱり判らんというのが正直な感想なのですが malloc/realloc ってそもそも何するものかわかって言ってます? char *p=malloc(10); // 10byte のメモリを持ってくる p[9]=0; // OK 10byte 目に値をセット char *q=realloc(p, 20); // 20byte のメモリを持ってくる この時点で過去の malloc で返された p はもう使えません。 p と q は別なメモリ領域を指す可能性があります。 p[9]=0; // ダメ もう p の指す先にメモリは無い可能性が有る q[9]=q[19]=0; // OK realloc(20) なんて引数の数が合ってませんからできません。 「サイズ分飛ぶ」なんて意味がわからないです。 p の指す先のメモリ容量を変えたいが、アドレスが変わってはならない という要望に対しては「一般的にそういうことはできない」が答えとなります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.