K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>最初の 10個の領域とは別に、新たに 20個の領域を確保 > >*(data.cpItem + i) = realloc(NULL,sizeof(char) * 64); > >で、要素数が 64 個の char 型配列が新たに、20 個確保されていると云うことですね? > >それより前で、10 個確保されているので、第一引数に NULL を指定すると、 >新たに 20 個確保され10 個分、余分にメモリを消費する。 >だから、解放するか、20 個の内 10 個は、前と同じ内容なので、残りの >新たに確保された領域 10 個に対して、malloc() してやれば良いですね。 > >data.cpItem[10] から領域を新たに確保という事で > >for(i = 10;i < 20; i++){ > *(data.cpItem + i) = realloc(NULL,sizeof(char) * 64); > strcpy(*(data.cpItem + i),str); >} > >でどうでしょうか?
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!