21xrx.com
2024-11-10 00:36:55 Sunday
登录
文章检索 我的文章 写文章
C++中如何返回字符串数组?
2023-07-01 15:09:04 深夜i     --     --
C++ 返回 字符串数组

在C++中,要返回字符串数组,可以使用以下两种方法。

方法一:使用指针

使用指针返回字符串数组是一种通用的方法,可以返回任意长度的字符串数组。如果我们要返回一个字符串数组,我们可以按照以下步骤进行:

1. 首先,在函数内部定义一个指针变量来指向字符串数组。

2. 然后,分配内存并复制字符串到数组中。

3. 最后,返回指向字符串数组的指针变量。

示例代码如下:


char** getStringArray(){

  char** str = new char*[3];

  str[0] = new char[10];

  str[1] = new char[10];

  str[2] = new char[10];

  strcpy(str[0],"Hello");

  strcpy(str[1],"World");

  strcpy(str[2],"!");

  return str;

}

上述代码中,我们定义了一个返回类型为`char**`的函数`getStringArray`,该函数返回一个指向字符串数组的指针。在函数内部,我们定义了一个`char**`类型的指针变量`str`,它指向一个包含三个字符串的字符串数组。然后,我们使用`new`操作符分配内存并通过`strcpy`函数复制字符串到数组中。最后,返回指向字符串数组的指针变量`str`。

方法二:使用结构体

如果我们要返回一个已知长度的字符串数组,使用结构体是一种更简单的方法。我们可以定义一个结构体来包含字符串数组,然后将该结构体作为函数的返回值。

示例代码如下:


struct StringArray{

  char str[3][10];

};

StringArray getStringArray(){

  StringArray sa;

  strcpy(sa.str[0],"Hello");

  strcpy(sa.str[1],"World");

  strcpy(sa.str[2],"!");

  return sa;

}

上述代码中,我们定义了一个包含三个长度为10的字符串的结构体`StringArray`,然后定义了一个返回类型为`StringArray`的函数`getStringArray`。在函数内部,我们创建了一个类型为`StringArray`的结构体变量,并使用`strcpy`函数复制字符串到数组中。最后,返回该结构体变量。

综上所述,要返回字符串数组,我们可以使用指针或结构体的方法,具体使用哪种方法,应根据实际情况来选择。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复