21xrx.com
2024-12-27 19:16:54 Friday
登录
文章检索 我的文章 写文章
C++中如何对string数组进行赋值?
2023-07-10 13:25:41 深夜i     --     --
C++ string数组 赋值

在C++中,string数组是一种常见的数据类型,它由多个字符串元素组成。当我们需要对string数组进行赋值时,可以通过以下几种方式实现。

方式一:使用循环结构逐一为每个元素赋值

这是最常见的方式,通过一个for循环逐一为string数组的每个元素赋值。示例代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  // 定义string数组

  string arr[3];

  // 通过循环为每个元素赋值

  for(int i=0; i<3; i++)

  {

    cout << "请输入第" << i+1 << "个字符串:";

    cin >> arr[i];

  }

  // 输出数组中的元素

  for(int i=0; i<3; i++)

  {

    cout << "第" << i+1 << "个字符串是:" << arr[i] << endl;

  }

  return 0;

}

方式二:使用静态数组初始化

静态数组初始化是一种常见的赋值方式,可以在定义string数组时直接为各个元素赋值。示例代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  // 使用静态数组初始化

  string arr[3] = {"hello", "world", "c++"};

  // 输出数组中的元素

  for(int i=0; i<3; i++)

  {

    cout << "第" << i+1 << "个字符串是:" << arr[i] << endl;

  }

  return 0;

}

方式三:使用动态数组赋值

动态数组赋值是一种比较灵活的方式,可以在程序运行时动态地为string数组分配空间,并为其赋值。示例代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  // 动态分配string数组空间

  string* arr = new string[3];

  // 通过循环为每个元素赋值

  for(int i=0; i<3; i++)

  {

    cout << "请输入第" << i+1 << "个字符串:";

    cin >> *(arr+i);

  }

  // 输出数组中的元素

  for(int i=0; i<3; i++)

  {

    cout << "第" << i+1 << "个字符串是:" << *(arr+i) << endl;

  }

  delete[] arr;

  return 0;

}

总的来说,这些赋值方式各有优缺点,具体使用时需要根据实际情况进行选择。无论哪种方式,都需要注意string数组内存空间的分配和释放问题,避免出现内存泄漏等问题。

  
  

评论区

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