文字列を返す関数を実装しました。パラメーター ( ) として整数を取り、age
フォーマットされた文字列を返します。
クレイジーなメモリリークがあるという事実を除いて、すべてがうまく機能しています。strdup() がこれの原因であることは知っていますが、いくつかの修正を調査しようとしましたが、役に立ちませんでした。
私のコードは次のとおりです。
const char * returnName(int age) {
char string[30];
sprintf( string, "You are %d years old", age);
return strdup(string);
}
Valgrind の出力は次のとおりです。
==15414== LEAK SUMMARY:
==15414== definitely lost: 6,192 bytes in 516 blocks
==15414== indirectly lost: 0 bytes in 0 blocks
==15414== possibly lost: 0 bytes in 0 blocks
==15414== still reachable: 0 bytes in 0 blocks
==15414== suppressed: 0 bytes in 0 blocks
このメモリ リークの問題を解決するための助けをいただければ幸いです。