C语言:字符串指针上的字符串连接

Jér*_*yet 4 c

我有这个add_str函数的代码:

void    add_str(char *str1, char *str2, char **res)
{
  int   i;
  int   j = 0;

  res[0] = malloc((strlen(str1) + strlen(str2) + 1) * sizeof(char));
  if (res[0] == NULL)
    return;
  for (i = 0; str1[i]; i++)
    res[0][j++] = str1[i];
  for (i = 0; str2[i]; i++)
    res[0][j++] = str2[i];
  res[0][j] = '\0';
}
Run Code Online (Sandbox Code Playgroud)

它接收2个字符串,str1并且str2指针指向**res不是malloc 的字符串.我的功能添加str1和str2开启**res.

我的问题是:res[0]每次我必须用它做什么都有办法不写吗?

Pet*_*eld 6

res是指向指针的指针,因此在使用它之前需要取消引用它.你是对的,res[0]虽然在这种情况下,这不是正确的方法.请(*res)改用.