掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
mallocで確保した領域の後に続けてreallocで領域を作るには? (ID:60825)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
サンプル #include <stdio.h> #include <malloc.h> int main( void ){ int* p; int old_size; int i; old_size = 10; p = ( int* )malloc( old_size * sizeof( int ) ); if ( p != NULL ){ int* q; int new_size; for ( i = 0; i < old_size; i++ ) p[ i ] = i; new_size = 20; q = ( int* )realloc( p, new_size * sizeof( int ) ); if ( q != NULL ){ // reallocに成功した場合、元の領域は解放されて使えなくなる // ので、pの値を上書きする p = q; for ( i = old_size; i < new_size; i++ ) p[ i ] = i; // 元の領域に入っていたデータと同じものが、新しい領域にも入っているかの確認 for ( i = 0; i < new_size; i++ ) printf( "%d\n", p[ i ] ); } free( p ); } return 0; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.