字符串数组怎么初始化
时间: 2023-06-21 12:07:32 浏览: 63
字符串数组可以通过以下几种方式进行初始化:
1. 在定义时初始化:
```c++
string strArr[] = {"hello", "world", "how", "are", "you"};
```
2. 逐个赋值:
```c++
string strArr[5];
strArr[0] = "hello";
strArr[1] = "world";
strArr[2] = "how";
strArr[3] = "are";
strArr[4] = "you";
```
3. 使用 memset 函数清空,并逐个赋值:
```c++
string strArr[5];
memset(strArr, 0, sizeof(strArr));
strArr[0] = "hello";
strArr[1] = "world";
strArr[2] = "how";
strArr[3] = "are";
strArr[4] = "you";
```
需要注意的是,使用 memset 函数清空的前提是字符串数组的元素类型为字符型,而不是字符串型。如果要清空字符串型的数组,可以使用以下方法:
```c++
string strArr[5];
for(int i=0; i<5; i++) {
strArr[i].clear();
}
```
相关问题
c 字符串数组初始化
你可以使用以下方法来初始化一个字符数组(字符串数组):
1. 使用字符串字面量初始化数组:
```c
char str[] = "Hello, World!";
```
这将创建一个包含字符串内容的字符数组。注意,这种方式会自动为数组分配足够的空间。
2. 使用字符数组初始化列表初始化数组:
```c
char str[] = {'H', 'e', 'l', 'l', 'o', '\0'};
```
你可以使用字符数组初始化列表为数组分配特定的字符。注意,最后一个字符必须是空字符('\0'),表示字符串的结束。
3. 使用strcpy函数将已存在的字符串复制到数组中:
```c
#include <string.h>
char source[] = "Hello, World!";
char destination[20];
strcpy(destination, source);
```
使用strcpy函数可以将已存在的字符串复制到新的数组中。注意,目标数组必须足够大,以容纳源字符串及其终止符。
这些是初始化字符数组的几种常见方法。你可以根据需要选择适合你的情况的方法。
Java 字符串数组初始化
Java 中的字符串数组可以使用以下几种方式进行初始化:
1. 直接赋值:使用大括号将字符串数组括起来,例如:
```java
String[] strArray1 = {"Hello", "World", "!"};
```
2. 使用 new 关键字:使用 new 关键字来创建字符串数组并赋初值,例如:
```java
String[] strArray2 = new String[]{"Hello", "World", "!"};
```
3. 先创建数组再赋值:先创建一个指定长度的字符串数组,然后使用下标来逐个赋值,例如:
```java
String[] strArray3 = new String[3];
strArray3[0] = "Hello";
strArray3[1] = "World";
strArray3[2] = "!";
```
以上三种方式都可以创建字符串数组并初始化,选择哪种方式主要取决于代码的需求和编程习惯。需要注意的是,一旦初始化了一个数组,就不能再改变其长度。