以下のメッセージを削除します。


[2199] Re:ポインタ完全制覇 - read_slogan.c
返信


投稿者:(ぱ)こと管理人
2019/11/16 02:04:54

Link:
はじめまして。ご指摘ありがとうございます。

>buf[slogan_len - 1] = '\0';
>
>したあと、
>
>slogan[i] = malloc(sizeof(char) * (slogan_len + 1));
>
>していますが、bufの大きさは、slogan_len byteで十分なので、

通常、文字数がlenのとき、'\0'の分を含めてlen+1だけmalloc()するのが
定石ですが、このケースではslogan_lenは改行文字を含んでいて、
その改行文字を'\0'に置き換えるので、malloc()するのはslogan_lenの
分だけでよいですね。

改定前のものからのミスだと思います。正直、まだポカが残っているとは
思いませんでした……

正誤表に入れさせていただきます。

パスワード:

管理者削除