char const *retstr()
{
 return "リテラルならOK";
}

char *retstr()
{
 return strdup("mallocして返す。呼び出し側でfreeする必要あり。");
}

char *retstr(char *buf, size_t bufsize)
{
 return strcpy(buf, "呼び出し側でバッファを確保する。Cではこれが無難。");
}